@charset "UTF-8";
/*----------------------------------------

	index CSS

	- common

-----------------------------------------*/

@media (min-width: 768px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}

.link_blank a {
  position: relative;
  width: 100%;;
  padding-right: 2em;
}

.ind01 {
  padding-left: 1em;
  text-indent: -1em;
}

.ind0125 {
  padding-left: 1.25em;
  text-indent: -1.25em;
}

.ind02 {
  padding-left: 2em;
  text-indent: -2em;
}

.vt {
  writing-mode: vertical-lr;
  transform: rotate(-180deg);
}


html.is-active {
  overflow: hidden;
}

.wrapper {
  height: 100%;
  overflow: hidden;
}

.wrapper.is-fixed {
  visibility: visible;
  transition: 0.8s cubic-bezier(0.23, 1, 0.32, 1);
}

/*width*/
.mw1120 {
  max-width: 1120px;
  margin: 0 auto;
}

.mw1200 {
  max-width: 1200px;
  margin: 0 auto;
}

.mw1320 {
  max-width: 1320px;
  margin: 0 auto;
}

.mw1000 {
  max-width: 1000px;
  margin: 0 auto;
}

.mw888 {
  max-width: 888px;
  margin: 0 auto;
}

.mw400 {
  max-width: 400px;
  margin: 0 auto;
}

.annotation_txt {
  font-size: 12px;
}

/*btn-link*/
.btn-link {
  position: relative;
  width: 100%;
  font-size: 16px;
  line-height: 1.5;
  border: 1px solid #000000;
  padding: 1em 1em 1em 1.4em;
  border-radius: 50px;
  display: inline-block;
}

.btn-link svg {
  position: absolute;
  top: 0;
  left: 0;
  overflow: visible;
  pointer-events: none;
}

.btn-link--icon {
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 1em;
  bottom: 0;
  width: 20px;
  height: 6px;
  overflow: hidden;
}

.btn-link--icon:before,
.btn-link--icon:after {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-image: url(../images/btn_arrow_s.svg);
}

.btn-link--icon:after {
  transform: translate(-100%, 0);
}

/*btn-link_black*/
.btn-link_black {
  font-size: 16px;
  background: #003366;
  color: #ffffff !important;
}

.btn-link--icon_black:before,
.btn-link--icon_black:after {
  background: url(../images/btn_arrow02_s.svg) center center no-repeat;
}

/*btn-link_nobg*/
.btn-link_nobg {
  border: none;
  padding-left: 0;
  width: inherit;
}

.btn-link_nobg .btn-link--icon {
  position: relative;
  right: 0;
  top: 0.5em;
}

/*btn-link--icon-access*/
.btn-link--icon-access {
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 1em;
  bottom: 0;
  width: 16px;
  height: 25px;
  overflow: hidden;
}

.btn-link--icon-access:before,
.btn-link--icon-access:after {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-image: url(../images/icon_access.svg);
}

.btn-link--icon-access:after {
  transform: translate(0, 100%);
}

.btn-link:hover {
  color: inherit;
}

.btn-link:hover .btn-link--icon-access:before {
  transition-duration: 0.6s;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  -ms-transition-duration: 0.6s;
  -ms-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  -webkit-transition-duration: 0.6s;
  -webkit-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  -moz-transition-duration: 0.6s;
  -moz-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate(0, -100%);
}

.btn-link:hover .btn-link--icon-access:after {
  transform: translate(0, 0);
  transition-duration: 1s;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  -ms-transition-duration: 1s;
  -ms-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  -webkit-transition-duration: 1s;
  -webkit-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  -moz-transition-duration: 1s;
  -moz-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transition-delay: 0.3s;
  -webkit-transition-delay: 0.3s;
}

/*btn-link--icon-download*/
.btn-link--icon-download {
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0.5em;
  bottom: 0;
  width: 35px;
  height: 28px;
}

.btn-link--icon-download:before {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 22px auto;
  background-image: url(../images/icon_download.svg);
}

@media (min-width: 768px) {
  /*btn-link*/
  .btn-link {
    max-width: 505px;
    font-size: 17px;
    padding: 1.2em 1em 1.2em 1.8em;
    line-height: inherit;
    transition: 0.3s;
  }

  .btn-link--icon {
    right: 2em;
    width: 48px;
    height: 7px;
  }

  .btn-link--icon:before,
  .btn-link--icon:after {
    background-image: url(../images/btn_arrow.svg);
  }

  .btn-link--icon:after {
    transition-delay: 0s;
    -webkit-transition-delay: 0s;
  }

  /*btn-link hover*/
  .btn-link:hover {
    color: #999999;
    border: 1px solid #cccccc;
  }

  .btn-link:hover .btn-link--icon:before {
    transition-duration: 0.6s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    -ms-transition-duration: 0.6s;
    -ms-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    -webkit-transition-duration: 0.6s;
    -webkit-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    -moz-transition-duration: 0.6s;
    -moz-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: translate(100%, 0);
  }

  .btn-link:hover .btn-link--icon:after {
    transform: translate(0, 0);
    transition-duration: 1s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    -ms-transition-duration: 1s;
    -ms-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    -webkit-transition-duration: 1s;
    -webkit-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    -moz-transition-duration: 1s;
    -moz-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    transition-delay: 0.3s;
    -webkit-transition-delay: 0.3s;
  }

  /*btn-link_black*/
  .btn-link_black {
    max-width: 700px;
    font-size: 20px;
    margin-bottom: 1px;
    border: 1px solid #cccccc;
  }

  .sidebar_menu_wrap .btn-link_black {
    max-width: 700px;
    font-size: 14px;
    margin-bottom: 1px;
    border: 1px solid #cccccc;
  }

  .btn-link--icon_black:before,
  .btn-link--icon_black:after {
    background: url(../images/btn_arrow02.svg) center center no-repeat;
  }

  /*btn-link_black hover*/
  .btn-link_black:hover {
    opacity: 0.6;
    color: #000000 !important;
    background: #ffffff;
  }

  .btn-link_black:hover .btn-link--icon_black:before,
  .btn-link_black:hover .btn-link--icon_black:after {
    background: url(../images/btn_arrow.svg) center center no-repeat;
  }

  /*btn-link_nobg*/
  .btn-link_nobg {
    padding-left: 0;
  }

  .btn-link_nobg:hover {
    border: none;
  }

  /*btn-link--icon-download*/
  .btn-link--icon-download {
    right: 1.7em;
  }

  .btn-link--icon-download:before {
    background-size: 35px auto;
  }


  .sec-other-interview .btn-link {
    border: none;
    font-weight: normal;
    padding: 0;
    font-size: inherit;
    max-width: inherit;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
  /*btn-link*/
  .btn-link {
    max-width: 505px;
    font-size: 14px;
    padding: 1em 0.8em 1em 0.8em;
    transform: 0.3s;
  }

  .btn-link--icon {
    right: 1em;
    width: 20px;
    height: 6px;
  }

  .btn-link--icon:before,
  .btn-link--icon:after {
    background-image: url(../images/btn_arrow_s.svg);
  }

  /*btn-link--icon_black*/
  .btn-link--icon_black:before,
  .btn-link--icon_black:after {
    background: url(../images/btn_arrow02_s.svg);
  }

  .btn-link_black:hover .btn-link--icon_black:before,
  .btn-link_black:hover .btn-link--icon_black:after {
    background-image: url(../images/btn_arrow_s.svg);
  }
}

/*btn-link--icon02*/
.btn-link--icon02 {
  display: block;
  position: absolute;
  bottom: -1em;
  right: -2em;
  width: 23px;
  height: 12px;
  overflow: hidden;
}

.btn-link--icon02:before,
.btn-link--icon02:after {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-image: url(../images/btn_arrow03_s.svg);
}

.btn-link--icon02:after {
  transform: translate(-100%, 100%);
}

@media screen and (min-width: 768px) {
  .btn-link--icon02 {
    right: -1em;
    width: 46px;
    height: 24px;
  }

  .btn-link--icon02:before,
  .btn-link--icon02:after {
    background-image: url(../images/btn_arrow03.svg);
  }

  .btn-link--icon02:after {
    transition-delay: 0s;
  }

  a:hover .btn-link--icon02:before,
  a:hover .btn-link--icon02:after {
    background: url(../images/btn_arrow03_2.svg);
  }

  a:hover .btn-link--icon02:before {
    transition-duration: 0.6s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    -ms-transition-duration: 0.6s;
    -ms-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    -webkit-transition-duration: 0.6s;
    -webkit-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    -moz-transition-duration: 0.6s;
    -moz-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: translate(100%, -100%);
  }

  a:hover .btn-link--icon02:after {
    transform: translate(0, 0);
    transition-duration: 1s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    -ms-transition-duration: 1s;
    -ms-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    -webkit-transition-duration: 1s;
    -webkit-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    -moz-transition-duration: 1s;
    -moz-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    transition-delay: 0.3s;
    -webkit-transition-delay: 0.3s;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .btn-link--icon02:before,
  .btn-link--icon02:after {
    background-image: url(../images/btn_arrow03_s.svg);
    background-size: 100% auto;
  }

  /*hover*/
  a:hover .btn-link--icon02:before,
  a:hover .btn-link--icon02:after {
    background: url(../images/btn_arrow03_2_s.svg);
    background-size: 100% auto;
  }
}

/*----------------------------------------
	table
-----------------------------------------*/

/*表01*/
.tbl01 dl {
  width: 100%;
  overflow: hidden;
}

.tbl01 dt {
  position: relative;
  font-weight: bold;
  width: 30%;
  text-align: left;
  padding: 1em 0.5em;
}

.tbl01 dd {
  font-weight: normal;
  width: 70%;
  text-align: left;
  padding: 1em 0.5em;
}

@media screen and (min-width: 768px) {
  .tbl01 dt {
    width: 23%;
    font-size: 16px;
    padding: 0.5em 0.5em 0.5em 0;
  }

  .tbl01 dd {
    width: 77%;
    font-size: 16px;
    padding: 0.5em 0.5em 0.5em 0;
  }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .tbl01 dt {
    width: 30%;
    font-size: 16px;
  }

  .tbl01 dd {
    width: 70%;
    font-size: 16px;
  }
}

/*表02*/
.tbl02 dl {
  border-bottom: 1px dotted #2A3D65;
  width: 100%;
  overflow: hidden;
}

.tbl02 dt {
  position: relative;
  font-weight: normal;
  width: 30%;
  padding: 1em 1em;
  font-size: 14px;
  background: #EEEFEC;
  display: flex;
  justify-content: center;
  align-items: center;
}

.tbl02 dt:before {
  content: '';
  position: absolute;
  top: 0;
  right: -400%;
  border-top: 1px dotted #2A3D65;
  width: 500%;
  height: 1px;
}

.tbl02 dd {
  font-weight: normal;
  width: 70%;
  text-align: left;
  padding: 1em 1em;
  font-size: 14px;
}

@media screen and (min-width: 768px) {
  .tbl02 dt {
    width: 23%;
    font-size: 16px;
    padding: 1.25em 1em 1.25em 1em;
  }

  .tbl02 dd {
    width: 77%;
    font-size: 16px;
    padding: 1.25em 1em 1.25em 2em;
  }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .tbl02 dt {
    width: 30%;
    font-size: 14px;
  }

  .tbl02 dd {
    width: 70%;
    font-size: 14px;
  }
}


/*----------------------------------------
	slick
-----------------------------------------*/

.slick-prev, .slick-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  z-index: 100;
}

.slick-dots {
  text-align: center;
}

.slick-prev:before, .slick-next:before {
  content: "" !important;
}

.slick-next:before {
  background: url(../images/slick_arrow_right.svg) !important;
  background-size: 40px auto !important;
  background-position: left top;
  background-repeat: no-repeat !important;
}

.slick-prev:before {
  background: url(../images/slick_arrow_left.svg) !important;
  background-size: 40px auto !important;
  background-position: right top;
  background-repeat: no-repeat !important;
}

.slick-arrow {
  z-index: 2 !important;
  width: 40px !important;
  height: 40px !important;
}

.slick-arrow:before {
  content: "" !important;
  width: 100% !important;
  height: 100% !important;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 1 !important;
}

/*sec-other-interview*/
.sec-other-interview .slick-prev {
  left: 0;
  margin-top: -1%;
  z-index: 900 !important;
}

.sec-other-interview .slick-next {
  right: 0;
  margin-top: -1%;
  z-index: 900 !important;
}

@media screen and (min-width: 768px) {
  /*sec-other-interview*/
  .sec-other-interview .slick-prev {
    left: 10%;
    margin-top: -5%;
  }

  .sec-other-interview .slick-next {
    right: 10%;
    margin-top: -5%;
  }

  .slick-arrow {
    width: 80px !important;
    height: 80px !important;
  }

  .slick-next:before {
    background-size: 80px auto !important;
  }

  .slick-prev:before {
    background-size: 80px auto !important;
  }
}


/*----------------------------------------
	cmn-header
-----------------------------------------*/
.cmn-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
  margin-top: 1.5em;
  transition: all 0.2s cubic-bezier(0.37, 0, 0.63, 1);
}

.cmn-header__logoImg {
  width: auto;
  height: 35px;
  transition: all 0.2s cubic-bezier(0.37, 0, 0.63, 1);
}

.cmn-header__ttl a {
  color: #003366;
  font-size: 1.2em;
}

/*fixed*/
.cmn-header.fixed {
  margin-top: 0.5em;
}

.cmn-header.fixed .cmn-header__logoImg {
  height: 25px;
}

.cmn-header.fixed .cmn-header__ttl a {
  font-size: 1em;
}

@media screen and (min-width: 768px) {
  .cmn-header {
    margin-top: 1em;
  }

  .cmn-header__logoImg {
    height: 60px;
  }

  .cmn-header__inner {
    max-width: 1454px;
    margin: 0 auto;
  }

  /*fixed*/
  .cmn-header.fixed {
    margin-top: 0.5em;
  }

  .cmn-header.fixed .cmn-header__logoImg {
    height: 30px;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .cmn-header__logoImg {
    height: 45px;
  }
}


/*----------------------------------------
	gnav
-----------------------------------------*/

@media screen and (max-width: 992px) {
  #gnav {
    display: none;
  }

  #gnav.is-active {
    background: #ffffff;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2000;
  }

  .gnav__inner {
    height: 100%;
  }

  #gnav .cmn-gmenu-link__inner {
    position: relative;
    height: 100%;
    overflow-y: auto;
    -ms-overflow-style: none; /* IE, Edge 対応 */
    scrollbar-width: none;
    -webkit-overflow-scrolling: auto;
  }

  #gnav .cmn-gmenu-link__inner::-webkit-scrollbar { /* Chrome, Safari 対応 */
    display: none;
  }

  .gnav__logo {
    width: 100%;
    margin-top: auto;
  }

  .gnav__logo a {
    display: inline-block;
  }

  .gnav__logo a img {
    height: 22px;
  }

  .gnav__logo a:hover {
    opacity: 0.6;
  }

  .gnav_bg {
    position: fixed;
    top: 0;
    left: 0;
    background: #ffffff;
    width: 100%;
    height: 100%;
    z-index: 3;
  }

  .gnav__box {
    padding: 3% 0 5%;
  }

  .gnav__box ul li a {
    position: relative;
  }

  .gnav__box ul li a {
    width: 100%;
    display: block;
    font-size: 18px;
    border-bottom: 1px dotted #444444;
    font-weight: bold;
    padding: 5% 0 5% 7%;
  }

  .gnav__box ul li a:before {
    content: '';
    width: 8px;
    height: 8px;
    border-top: solid 1px #014E39;
    border-right: solid 1px #014E39;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    -webkit-transform: translateY(-50%) rotate(45deg);
    -ms-transform: translateY(-50%) rotate(45deg);
    margin-top: -0.2%;
  }

  #gnavBtn {
    position: fixed;
    top: 0;
    right: 0;
    width: 50px;
    height: 50px;
    z-index: 3000;
    transition: 0.3s;
    background-color: rgba(255, 255, 255, 0.9);
    cursor: pointer;
  }

  #gnavBtn.is-active {
    background: #000000;
  }

  #gnavBtn > div {
    display: flex;
    width: 50px;
    height: 50px;
    justify-content: center;
    align-items: center;
    margin-top: 0.5em;
  }

  #gnavBtn > div > div {
    position: relative;
    width: 24px;
    height: 24px;
  }

  #gnavBtn span {
    position: absolute;
    top: 6px;
    left: 0;
    display: block;
    text-decoration: none;
    width: 24px;
    height: 1px;
    background-color: #000000;
  }

  #gnavBtn.is-active span {
    background-color: #ffffff;
  }

  #gnavBtn span:first-child {
    left: 0;
    width: 24px;
    transform: translateY(-6px) rotate(-25deg);
  }

  #gnavBtn span:nth-child(2) {
    left: 0;
    width: 24px;
    transform: rotate(-25deg);
  }

  #gnavBtn span:nth-child(3) {
    left: 0;
    width: 24px;
    transform: translateY(6px) rotate(-25deg);
  }

  #gnavBtn.is-close span:first-child {
    transform: translateY(-6px) rotate(-25deg);
    animation-name: menuBarOut;
    animation-timing-function: cubic-bezier(.165, .84, .44, 1)
  }

  #gnavBtn.is-close span:first-child,
  #gnavBtn.is-close span:nth-child(2) {
    left: 0;
    width: 24px;
    animation-duration: .5s;
    animation-delay: 0s
  }

  #gnavBtn.is-close span:nth-child(2) {
    animation-name: menuBar2Out;
    animation-timing-function: cubic-bezier(.165, .84, .44, 1)
  }

  #gnavBtn.is-close span:nth-child(3) {
    transform: translateY(6px) rotate(-25deg);
    animation-name: menuBar3Out;
    animation-timing-function: cubic-bezier(.165, .84, .44, 1)
  }

  #gnavBtn.is-close span:nth-child(3),
  #gnavBtn.is-active span:first-child {
    left: 0;
    width: 24px;
    animation-duration: .5s;
    animation-delay: 0s
  }

  #gnavBtn.is-active span:first-child {
    transform: translateY(0) rotate(45deg);
    animation-name: menuBar;
    animation-timing-function: cubic-bezier(.165, .84, .44, 1)
  }

  #gnavBtn.is-active span:nth-child(2) {
    left: 12px;
    width: 0;
    animation-duration: .5s;
    animation-delay: 0s;
    animation-name: menuBar2;
    animation-timing-function: cubic-bezier(.165, .84, .44, 1)
  }

  #gnavBtn.is-active span:nth-child(3) {
    left: 0;
    width: 24px;
    transform: translateY(0) rotate(-45deg);
    animation-duration: .5s;
    animation-delay: 0s;
    animation-name: menuBar3;
    animation-timing-function: cubic-bezier(.165, .84, .44, 1)
  }

  #gnav .cmn-gmenu-link-col a {
    color: #ffffff;
  }

  #gnav .cmn-gmenu-link-col li a:before {
    border-color: transparent transparent transparent #ffffff;
  }

  #gnav .cmn-header__gnav ul.sub-menu {
    display: none;
  }

  .cmn-header__gnav {
    padding: 4em 0;
    transform: translateY(-10px);
    transition: 0.5s cubic-bezier(.215, .61, .355, 1);
  }

  #gnav.is-active .cmn-header__gnav {
    transform: translateY(0);
  }

  .cmn-header__gnav li a {
    position: relative;
    font-weight: bold;
    padding: 1em 2em 1em 0;
    display: inline-block;
    width: 100%;
    font-size: 16px;
    line-height: 1.4;
  }

  .cmn-header__gnav > ul > li a:before,
  .cmn-header__gnav > ul > li > .sub-menu > li a:before {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 4px 0 4px 6px;
    border-color: transparent transparent transparent #000000;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    margin-top: 1.4em;
  }

  .cmn-header__gnav li {
    border-top: 1px dotted #ccc;
  }

  #gnav .cmn-header__gnav ul.sub-menu li a {
    font-size: 14px;
    font-weight: normal;
    padding: 1em 2em 1em 1em;
  }

  #gnav .cmn-header__gnav ul.sub-menu li:last-child a {
    padding: 1em 2em 2em 1em;
  }

  #gnav .cmn-header__gnav ul.sub-menu li {
    border-top: none;
  }
}

@media screen and (min-width: 993px) {
  .cmn-gmenu-link-col-wrapper {
    width: 100%;
    margin-bottom: auto;
  }

  .cmn-gmenu-link-col-wrapper a {
    transition: 0.3s;
  }

  .cmn-gmenu-link-col-wrapper a:hover {
    opacity: 0.6;
  }

  .cmn-header__gnav {
    background-color: rgba(255, 255, 255, 0.8);
    border-radius: 50px;
    padding: 1.5em 2.3em;
  }

  /*fixed*/
  .cmn-header.fixed .cmn-header__gnav {
    padding: 0.5em 2.3em;
  }

  .cmn-header__gnav > ul > li {
    position: relative;
  }

  .cmn-header__gnav > ul > li:nth-of-type(n+2) {
    margin-left: 2em;
  }

  .cmn-header__gnav > ul > li > a,
  .cmn-header__gnav > ul > li > span a {
    font-size: 17px;
    font-weight: 500;
    padding-bottom: 1.1em;
  }

  .cmn-header__gnav > ul > li > a:after,
  .cmn-header__gnav > ul > li > span > a:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    background: linear-gradient(#000000, #000000) 100% 100% / 0 2px no-repeat;
    transition: opacity 0.3s ease, background-size 1.2s cubic-bezier(0.19, 1, 0.22, 1) 0s;
    opacity: 0;
  }

  .cmn-header__gnav > ul > li:nth-of-type(1) > span > a:after,
  .cmn-header__gnav > ul > li > a:hover:after, .cmn-header__gnav > ul > li.current-menu-item > a:after,
  .cmn-header__gnav > ul > li.menu-item-object-works.works-page > a:after {
    opacity: 1;
    background-position: 0 100%;
    background-size: 100% 2px;
  }

  .cmn-header__gnav ul.sub-menu {
    position: absolute;
    top: 3.4em;
    left: 0;
    display: block;
    width: 14em;
    visibility: hidden;
    opacity: 0;
    transition: top .3s, opacity .3s;
    z-index: 1000;
  }

  /*hoverしたら表示*/
  .cmn-header__gnav > ul > li:hover > ul.sub-menu {
    visibility: visible;
    opacity: 1;
    top: 3em;
  }

  .cmn-header__gnav ul.sub-menu li a {
    display: block;
    padding: 0.75em;
    font-size: 16px;
    font-weight: normal;
    color: #ffffff;
    transition: all .3s;
    background: rgba(0, 0, 0, 1);
  }

  .cmn-header__gnav ul.sub-menu li:last-child a {
    border-bottom: none;
  }

  .cmn-header__gnav > ul > li:nth-of-type(1) > ul.sub-menu li a:hover {
    background: rgba(0, 0, 0, 0.95);
  }

  .cmn-header__gnav ul.sub-menu li + li {
    margin-left: 0;
  }

  .cmn-header__gnav ul.sub-menu li + li a {
    margin-top: 2px;
  }
}

@media only screen and (min-width: 993px) and (max-width: 1199px) {
  .cmn-header__gnav {
    padding: 0.8em 1.8em;
  }

  .cmn-header__gnav > ul > li > a,
  .cmn-header__gnav > ul > li > span a {
    font-size: 15px;
  }

  .cmn-header__gnav > ul > li:nth-of-type(n+2) {
    margin-left: 1.5em;
  }
}


/*accordion-menu */
@media screen and (max-width: 992px) {
  .accordion-menu > a {
    position: relative;
    display: inline-block;
    width: 100%;
    height: 100%;
    color: #000000;
    text-decoration: none;
  }

  .accordion-menu > a:before,
  .accordion-menu > a:after {
    position: absolute;
    content: "";
    display: block;
    transition: all .4s cubic-bezier(.215, .61, .355, 1);
    background: #000000;
    right: 0;
    top: 50%;
    width: 16px;
    height: 1px;
    transform: translateY(-50%);
  }

  .accordion-menu > a:before {
    transform: translateY(-50%) rotate(90deg) scaleY(1);
  }

  .accordion-menu > a.open:before {
    transform: translateY(-50%) rotate(90deg) scaleY(0);
  }
}


/*----------------------------------------
	kv
-----------------------------------------*/

.kv {
  position: relative;
  overflow: hidden;
}

.kv__ttlInner {
  margin-top: 6em;
}

.kv__ttl {
  font-size: 36px;
  font-weight: 500;
}

.kv__ttl span {
  display: inline-block;
}

.kv__ttl img {
  width: 30px;
  vertical-align: inherit;
  margin: 0.3em 0.3em 0;
}

.kv__txt {
  font-weight: bold;
  line-height: 1.4;
}

@media screen and (min-width: 768px) {
  .kv {
    height: 100vh;
    min-height: 800px;
  }

  .kv__inner {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
  }

  .kv__ttlWrapper {
    max-width: 1454px;
    margin: 0 auto;
  }

  .kv__ttlInner {
    position: absolute;
    top: 55%;
    transform: translateY(-55%);
    z-index: 100;
    margin: -8em 0 0 0;
  }

  .kv__ttl {
    font-size: 60px;
  }

  .kv__ttl img {
    width: 45px;
  }

  .kv__txt {
    font-size: 20px;
  }
}

@media screen and (min-width: 1200px) {
  .kv__ttl {
    font-size: 78px;
  }

  .kv__ttl img {
    width: 75px;
  }

  .kv__txt {
    font-size: 27px;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .kv {
    height: 70vh;
    min-height: inherit;
  }
}

/*第二階層*/
.kv-lv2 {
  margin-top: 68px;
}

.kv-lv2__bg__inner {
  position: relative;
}

.kv-lv2__ttl-wrapper {
  position: relative;
  background: #ffffff;
  padding: 7% 5% 10%;
  margin-top: -16%;
}

.kv-lv2__ttl {
  position: relative;
  display: inline-block;
  font-size: 32px;
  line-height: 1;
  color: #000000;
  letter-spacing: 0.14em;
}

.kv-lv2__txt {
  font-size: 16px;
  line-height: 1.4;
}

.kv-lv2__pic {
  position: relative;
  overflow: hidden;
  padding-top: 64%;
}

.works-page .kv-lv2__pic {
  padding-top: 40%;
}

.kv-lv2__pic img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(1.04);
  transition: -webkit-transform 0.6s;
  opacity: 0;
  height: 100%;
  object-fit: cover;
  z-index: -2;
}

.fade.fade_in .kv-lv2__pic img {
  transform: translate(-50%, -50%) scale(1);
  opacity: 1;
  transition: 1.3s cubic-bezier(0.23, 1, 0.32, 1);
}

@media screen and (min-width: 768px) {
  .kv-lv2 {
    margin-top: 160px;
  }

  .kv-lv2__bg__inner {
    max-width: calc(100% - (50% - (1320px / 2)));
    margin-right: 0;
    margin-left: auto;
    padding-left: 12.5rem;
  }

  .kv-lv2__ttl-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    padding: 4% 10% 10% 0;
    margin-top: 0;
    margin-left: -0.5% !important;
    display: inline-block;
    background: transparent;
  }

  .kv-lv2__ttl-wrapper:after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: #ffffff;
    clip-path: polygon(0 0, 100% 0%, 100% 0, 0 100%);
    z-index: -1;
  }

  .kv-lv2__ttl {
    font-size: 60px;
  }

  .kv-lv2__txt {
    font-size: 22px;
  }

  .kv-lv2__pic {
    padding-top: 30.19%;
  }

  .works-page .kv-lv2__pic {
    padding-top: 20%;
  }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .kv-lv2 {
    margin-top: 100px;
  }

  .kv-lv2__ttl {
    font-size: 40px;
  }

  .kv-lv2__txt {
    font-size: 20px;
  }
}

@media screen and (min-width: 768px) {
  .kv-lv2.kv-lv2-center .kv-lv2__bg__inner {
    max-width: 1500px;
    margin-right: auto;
    margin-left: auto;
    padding-left: 0;
  }

  .kv-lv2.kv-lv2-center .kv-lv2__pic {
    clip-path: polygon(24% 0, 100% 0, 100% 100%, 0 100%, 0 20%);
  }
}

.kv-lv2-center__ttl-wrapper_center {
  position: relative;
  background: #ffffff;
  padding: 7% 5% 0;
  margin-top: -16%;
}

.kv-lv2-center__ttl {
  position: relative;
  display: inline-block;
  font-size: 32px;
  line-height: 1;
  color: #000000;
  letter-spacing: 0.14em;
}

.kv-lv2-center__txt {
  font-size: 16px;
}

@media screen and (min-width: 768px) {
  .kv-lv2-center__ttl-wrapper_center {
    padding: 2.5% 5% 0;
    margin-top: 0;
  }

  .kv-lv2-center__ttl {
    font-size: 60px;
  }

  .kv-lv2-center__txt {
    font-size: 22px;
  }
}


.kv-w100 {
  position: relative;
  overflow: hidden;
  opacity: 0;
  transition: all 0.3s cubic-bezier(0.37, 0, 0.63, 1);
}

.kv-w100.on {
  opacity: 1;
}

.kv-w100__inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  z-index: 100;
  max-width: 1380px;
  width: 100%;
  text-align: center
}

.kv-w100__bg {
  position: relative;
  background: #000000;
  width: 100%;
  height: 56.25vw;
}

.kv-w100__bg:before {
  content: '';
  position: absolute;
  top: 0;
  background: #000000;
  width: 100%;
  height: 56.25vw;
  z-index: -1;
}

.kv-w100__video {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  /*縦横幅指定*/
  width: 177.77777778vh; /* 16:9 の幅→16 ÷ 9＝ 177.77% */
  height: 56.25vw; /* 16:9の幅 → 9 ÷ 16 = 56.25% */
  min-height: 100%;
  min-width: 100%;
  transition: 1s;
  z-index: 1;
}

/*.kv-w100__bg img {
object-fit: cover;
object-position: center;
width: 100%;
height: 95vh;
}*/

@media screen and (min-width: 768px) {
  .kv-w100__inner {
    text-align: left;
  }

  .kv-w100__bg {
    height: 100vh;
  }

  .kv-w100:after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
  }

  /*.kv-w100__bg img {
height: 100vh;
}*/
  .kv-w100__video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    /*縦横幅指定*/
    width: 177.77777778vh; /* 16:9 の幅→16 ÷ 9＝ 177.77% */
    height: 56.25vw; /* 16:9の幅 → 9 ÷ 16 = 56.25% */
    min-height: 100%;
    min-width: 100%;
    transition: 1s;
    z-index: 1;
  }

  /*.kv-w100__video.finished {
opacity: 0;
}
.kv-w100__bg-pic {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
min-height: 100%;
min-width: 100%;
opacity: 0;
transition: 1s;
z-index: -2;
}
.kv-w100__bg-pic.on {
opacity: 1;
z-index: 2;
}
.kv-w100__bg-pic img {
height: 100vh;
}*/
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .kv-w100__ttl01 {
    font-size: 72px;
  }
}


/*ttl-border-right*/
.ttl-border-right {
  font-size: 18px;
}

.ttl-border-right {
  display: flex;
  align-items: center;
}

.ttl-border-right:after {
  background-image: url(../images/line.svg);
  background-repeat: repeat;
  background-size: 200% 100%;
  content: "";
  flex-grow: 1;
  margin-left: 0.5em;
  height: 8px;
}

@media screen and (min-width: 768px) {
  /*ttl-border-right*/
  .ttl-border-right {
    font-size: 26px;
  }

  .ttl-border-right:after {
    background-size: 100% 100%;
    margin-left: 0;
  }
}

/*ttl-border-left*/
.ttl-border-left {
  font-size: 18px;
}

.ttl-border-left {
  display: flex;
  align-items: center;
}

.ttl-border-left:before {
  background-image: url(../images/line.svg);
  background-repeat: repeat;
  background-size: 200% 100%;
  content: "";
  flex-grow: 1;
  margin-right: 0.5em;
  height: 8px;
}

@media screen and (min-width: 768px) {
  /*ttl-border-left*/
  .ttl-border-left {
    font-size: 26px;
  }

  .ttl-border-left:before {
    background-size: 100% 100%;
    margin-left: -0.5em;
    margin-right: 1em;
  }
}


/*----------------------------------------
	slideBox
-----------------------------------------*/

.slideBox {
  position: relative;
  margin: -8% 0 0 auto;
  width: 50%;
  -webkit-transform: rotate(66.5deg);
  transform: rotate(66.5deg);
  -webkit-transform-origin: 100% 50%;
  transform-origin: 100% 50%;
  height: 48vh;
  min-height: 320px;
  z-index: -1;
}

.fade.fade_in .slideBox__inner {
  -webkit-animation: railUp 45s linear infinite forwards;
  animation: railUp 45s linear infinite forwards;
}

.slideBox__inner div {
  margin-top: 5%;
}

.slideBox__inner div {
  cursor: pointer;
  display: block;
}

@media screen and (min-width: 768px) {
  .slideBox {
    width: 28%;
    max-width: 1300vh;
    min-height: inherit;
    height: 100%;
    margin-top: 0;
  }

  .slideBox__inner div img {
    transform: rotateY(0) rotateX(0);
    transform-style: preserve-3d;
    animation: anime_back 0.3s linear 1 forwards;
  }

  .slideBox__inner div:hover img {
    transform: rotateY(0) rotateX(0);
    transform-style: preserve-3d;
    animation: anime 0.3s linear 1 forwards;
  }
}

/*staff*/
.slideBox_staff {
  margin: 43% 0 0 auto;
  width: 70%;
  height: 50vh;
  z-index: inherit;
}

.fade.fade_in .slideBox_staff .slideBox__inner {
  -webkit-animation: railUp 30s linear infinite forwards;
  animation: railUp 30s linear infinite forwards;
}

.slideBox_staff .slideBox__inner div {
  margin-top: 5%;
}

@media screen and (min-width: 768px) {
  .slideBox_staff {
    width: 30%;
    height: inherit;
    max-width: 1300vh;
  }
}

@media screen and (min-width: 1200px) {
  .slideBox_staff {
    margin-top: -10%;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .slideBox_staff {
    width: 40%;
    margin-top: -10%;
  }
}

@media screen and (max-width: 450px) {
  .slideBox_staff {
    width: 80%;
    margin-top: 35%;
  }
}


/*----------------------------------------
	cmn-footer
-----------------------------------------*/

.cmn-footer {
  border-top: 1px dotted #000000;
}

.cmn-footer__menuWrapper {
  padding: 0 0 2em;
}

.cmn-footer__menu li:not(:first-child) {
  border-top: 1px dotted #cccccc;
}

.cmn-footer__menu li a {
  position: relative;
  font-weight: bold;
  padding: 1em 2em 1em 0;
  display: inline-block;
  width: 100%;
  font-size: 14px;
  line-height: 1.4;
}

.cmn-footer__menu li:not(.link_blank):not(.accordion-menu) a:before {
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4px 0 4px 6px;
  border-color: transparent transparent transparent #000000;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  margin-top: 1.4em;
}

.cmn-footer__menuList:nth-of-type(2) {
  border-top: 1px dotted #cccccc;
}

.cmn-footer__menuList:nth-of-type(2) a {
  position: relative;
  font-weight: bold;
  padding: 0 2em 0 0;
  display: inline-block;
  width: 100%;
  font-size: 14px;
  line-height: 1.4;
}

.cmn-footer__menu .sub-menu {
  display: none;
}

.cmn-footer__menu .sub-menu li a {
  position: relative;
  padding: 1em;
  display: inline-block;
  width: 100%;
  font-size: 12px;
  font-weight: normal;
  line-height: 1.4;
}

.cmn-footer__menu .sub-menu li {
  border-top: none !important;
}

.cmn-footer__menu .sub-menu li:last-child a {
  padding: 1em 1em 2em 1em;
}

.cmn-footer__ttl {
  position: relative;
  background: #003366;
  padding: 10% 26%;
}

.cmn-footer__ttl-img {
  max-width: 50px;
}

.cmn-footer__copyright {
  font-size: 12px;
  padding: 3% 0 4%;
  line-height: 1;
}

.cmn-footer__menu:not(:nth-of-type(1)) {
  border-top: 1px dotted #cccccc;
}

/*btn-link*/
.btn-link--icon02-footer {
  position: absolute;
  top: 50%;
  bottom: 0;
  right: 0;
  transform: translate(0, -50%);
  width: 23px;
  height: 12px;
}

@media screen and (min-width: 768px) {
  .cmn-footer__menuWrapper {
    padding: 4% 0 5%;
  }

  .cmn-footer__menu li:not(:first-child) {
    border-top: none;
  }

  .cmn-footer__menu {
    padding-right: 8em;
    margin-top: 1.5em;
  }

  .cmn-footer__menu li a {
    font-size: 17px;
    line-height: 1;
    padding: 0;
    width: inherit;
  }

  .cmn-footer__menu li:not(.link_blank) a:not(.accordion-menu):before {
    content: none;
  }

  .cmn-footer__menu li:not(:first-child) a {
    margin-top: 2em;
  }

  .cmn-footer__menu li:nth-of-type(n+2) a {
    margin-top: 1.2em;
  }

  .cmn-footer__menuList dl {
    border-top: none;
    padding-right: 4em;
    margin-top: 1.5em;
  }

  .cmn-footer__menuList dl:last-child {
    padding-right: 0;
  }

  .cmn-footer__menuList dt a {
    font-size: 17px;
    line-height: 1;
    padding: 0 1.5em 0 0;
    width: inherit;
  }

  .cmn-footer__menu .sub-menu {
    display: block !important;
  }

  .cmn-footer__menu .sub-menu li a {
    font-size: 14px;
    line-height: 1.4;
    padding: 0;
    width: inherit;
    margin-top: 1.2em;
  }

  .cmn-footer__menu .sub-menu li:last-child a {
    padding: 0;
  }

  .cmn-footer__ttl {
    padding: 4% 0;
  }

  .cmn-footer__copyright {
    font-size: 14px;
    padding: 1% 0 1.5%;
  }

  .cmn-footer__menu:not(:nth-of-type(1)) {
    border-top: none;
  }

  .cmn-footer__menu:nth-of-type(2) {
    padding-right: 4em;
    margin-top: 1.5em;
  }


  /*btn-link*/
  .btn-link--icon02-footer {
    right: -2em;
  }

  .btn-link--icon02-footer:before, .btn-link--icon02-footer:after {
    background-image: url(../images/btn_arrow03_s.svg);
    background-size: 100% auto;
  }

  a:hover .btn-link--icon02-footer:before, a:hover .btn-link--icon02-footer:after {
    background-image: url(../images/btn_arrow03_s.svg);
    background-size: 100% auto;
  }
}


/*----------------------------------------
	breadcrumbs
-----------------------------------------*/

.breadcrumbs {
  font-size: 8px;
  line-height: 1.5;
  padding-top: 0.5%;
}

.breadcrumbs a {
  color: #000000;
  text-decoration: underline;
  position: relative;
  padding-right: 1em;
}

.breadcrumbs a:before {
  position: absolute;
  content: '';
  font-size: 8px;
  width: 5px;
  height: 5px;
  border-top: solid 1px #000000;
  border-right: solid 1px #000000;
  right: 0.5em;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  -webkit-transform: translateY(-50%) rotate(45deg);
  -ms-transform: translateY(-50%) rotate(45deg);
  margin-top: 1px;
}

@media screen and (min-width: 768px) {
  .breadcrumbs {
    font-size: 11px;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .breadcrumbs {
    padding-top: 0.5%;
  }
}


/*----------------------------------------
	sec-ttl
-----------------------------------------*/

.sec-ttlWrapper {
  position: relative;
}

.sec-ttl {
  position: relative;
  font-size: 32px;
  line-height: 1;
  letter-spacing: 0.15em;
  display: inline-block;
}

.sec-ttl-sub {
  margin-top: -0.5em;
}

@media screen and (min-width: 768px) {

  .sec-ttl {
    font-size: 65px;
  }

  .sec-ttl-sub {
    font-size: 22px;
    margin-top: -0.5em;
  }

}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .sec-ttl {
    font-size: 48px;
    letter-spacing: 0.05em;
  }

  .sec-ttl-sub {
    font-size: 18px;
    margin-top: -0.5em;
  }
}

/*----------------------------------------
	sec-ttl-lv2
-----------------------------------------*/

.sec-ttlWrapper-lv2 {
  position: relative;
  display: inline-block;
}

.sec-ttl-lv2, .works-page h3:not(.sec-ttl-lv2) {
  position: relative;
  font-size: 24px;
  line-height: 1.4;
  display: inline-block;
}

.works-page h3:not(.sec-ttl-lv2) {
  font-size: 20px;
  font-weight: bold;
}

.sec-ttl-lv2-sub {
  margin-top: -0.5em;
  font-size: 14px;
}


@media screen and (min-width: 768px) {

  .sec-ttl-lv2 {
    font-size: 33px;
  }

  .works-page h3:not(.sec-ttl-lv2) {
    font-size: 24px;
  }

  .sec-ttl-lv2-sub {
    font-size: 18px;
    margin-top: -0.5em;
  }

}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .sec-ttl-lv2 {
    font-size: 28px;
    letter-spacing: 0.05em;
  }

  .works-page h3:not(.sec-ttl-lv2) {
    font-size: 22px;
  }

  .sec-ttl-lv2-sub {
    font-size: 16px;
    margin-top: -0.5em;
  }

}


.sec-ttlWrapper-lv2-vt .sec-ttl-lv2 {
  font-size: 30px;
}

@media screen and (min-width: 768px) {
  .sec-ttlWrapper-lv2-vt .sec-ttl-lv2 {
    font-size: 55px;
    writing-mode: vertical-lr;
    transform: rotate(-180deg);
  }
}


/*----------------------------------------
	col2PicBox
-----------------------------------------*/

.col2PicBox {
  position: relative;
  display: flex;
  flex-direction: column;
  padding-top: 6%;
}

.col2PicBox + .col2PicBox {
  padding-top: 11%;
}

.col2PicBox__pic {
  position: relative;
}

.col2PicBox__ex {
  position: relative;
  margin-top: -12%;
}

.col2PicBox__ex-head {
  margin: 0 5%;
  background: #ffffff;
}

.col2PicBox__number {
  font-size: 49px;
  font-family: 'Josefin Slab', serif;
  font-style: italic;
  font-weight: 600;
  line-height: 0.5;
}

.col2PicBox__ttl {
  font-size: 20px;
}

.col2PicBox__ttl-en {
  font-size: 12px;
  line-height: 1;
}

.col2PicBox__txt {
  color: #ffffff;
  line-height: 1.6;
  margin-left: -10px;
  padding-left: 10px;
}

.col2PicBox__txt-bg {
  position: relative;
  display: inline-block;
}

.col2PicBox__txt-bg:before {
  content: "";
  position: absolute;
  bottom: -5px;
  left: -20px;
  top: -5px;
  right: -10px;
  background-color: #9F9F9F;
  z-index: -1;
}

.col2PicBox__ex-bottom {
  margin-left: 10px;
}

@media screen and (min-width: 768px) {
  .col2PicBox {
    flex-direction: row;
    justify-content: space-between;
    padding-top: 4.6%;
  }

  .col2PicBox + .col2PicBox {
    padding-top: 5%;
  }

  .col2PicBox__pic {
    margin-right: -10%;
    width: calc((800 / 1320) * 100%);
  }

  .col2PicBox__ex {
    width: calc((750 / 1320) * 100%);
    margin-top: 7%;
    margin-left: -10%;
    padding: 5% 5% 5% 4%;
  }

  .col2PicBox__ex:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #ffffff;
    z-index: -2;
  }

  .col2PicBox__ex-head {
    margin: 0;
    background: none;
  }

  .col2PicBox__number {
    font-size: 79px;
  }

  .col2PicBox__ttl {
    font-size: 30px;
  }

  .col2PicBox__ttl-en {
    font-size: 20px;
  }

  .col2PicBox__txt {
    font-size: 17px;
    line-height: 1.8;
  }

  /*col2PicBox-rev*/
  .col2PicBox-rev {
    flex-direction: row-reverse;
  }

  .col2PicBox-rev .col2PicBox__pic {
    margin-right: 0;
    margin-left: -10%;
  }

  .col2PicBox-rev .col2PicBox__ex {
    margin-left: 0;
    margin-right: -10%;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .col2PicBox__ex {
    width: calc((1050 / 1320) * 100%);
    margin-left: -18%;
  }

  .col2PicBox__number {
    font-size: 48px;
  }

  .col2PicBox__ttl {
    font-size: 24px;
  }

  .col2PicBox__ttl-en {
    font-size: 16px;
  }

  .col2PicBox__pic {
    width: calc((1050 / 1320) * 100%);
  }

  /*col2PicBox-rev*/
  .col2PicBox-rev .col2PicBox__ex {
    margin-right: -18%;
  }
}

/*sec-news*/
.sec-news {
  font-size: 14px;
  width: 100%;
  padding-top: 9%;
}

.sec-news .hd_ttl {
  padding: 18% 0 9.8%;
  border-bottom: 1px solid #e6e6e6;
}

.sec-news__list {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  padding: 1em 0;
}

.sec-news__list .date {
  font-size: 16px;
}

.sec-news__list .date a:before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.sec-news__list .cat {
  padding-left: 1em;
}

.sec-news__list .cat span a {
  position: relative;
  display: inline-block;
  font-size: 12px;
  font-weight: bold;
  padding: 0.5em 1em;
  background: #9F9F9F;
  color: #ffffff;
  line-height: 1;
  text-align: center;
  min-width: 100px;
}

.sec-news__list .ttl {
  width: 100%;
  font-size: 16px;
  display: block;
}

.sec-news__list .txt {
  width: 100%;
  font-size: 16px;
}

.home .sec-news__list .txt {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

body:not(.home) .sec-news__list {
  border-bottom: 1px dotted #000000;
}

body:not(.home) .sec-news__list:nth-of-type(1) {
  border-top: 1px dotted #000000;
}

@media only screen and (min-width: 768px) {
  .sec-news {
    padding: 10% 0 0;
  }

  .sec-news .hd_ttl {
    padding: 115px 0 50px;
  }

  .sec-news__list {
    display: inline-flex;
    flex-wrap: nowrap;
    width: 100%;
    padding: 1em 5em;
    transition: all 0.3s cubic-bezier(0.37, 0, 0.63, 1); /*easeInOutSine*/
  }

  .sec-news__list .date {
    width: 125px;
    padding: 0;
  }

  .sec-news__list .cat span {
    min-width: 120px;
  }

  .sec-news__list .ttl {
    font-size: 16px;
  }

  .sec-news__list .txt {
    padding-left: 1em;
  }

  .sec-news__list a {
    transition: all 0.3s cubic-bezier(0.37, 0, 0.63, 1); /*easeInOutSine*/
  }

  .sec-news__list:hover {
    opacity: 0.6;
  }

  .sec-news__list a:hover {
    opacity: 0.6;
  }
}


.sec-news-pane__date {
  width: 100%;
  font-size: 14px;
}

.sec-news-pane__date a:before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.sec-news-pane__category {
  width: 100%;
  font-size: 12px;
}

.sec-news-pane__category span {
  display: inline-block;
  margin-bottom: 1px;
}

.sec-news-pane__category span a {
  position: relative;
  color: #ffffff;
  font-size: 11px;
  display: inline-block;
  padding: 0.5em 0.5em 0.5em;
  background: #9F9F9F;
}

@media screen and (min-width: 768px) {
  .sec-news-pane__date {
    font-size: 14px;
  }

  .sec-news-pane__category span a {
    width: inherit;
    min-width: 120px;
    text-align: center;
    font-size: 12px;
    transition: 0.3s;
  }
}

@media screen and (min-width: 992px) {
  .sec-news-pane__date {
    width: inherit;
    font-size: 16px;
  }

  .sec-news-pane__category {
    width: inherit;
  }

  .sec-news-pane__category span {
    width: inherit;
    min-width: 120px;
  }

  .sec-news-pane__category span a {
    padding: 2px 8px 4px;
  }
}


/*----------------------------------------
sec-news-detail
-----------------------------------------*/

.sec-news-detail {
  padding: 4% 0 10%;
  font-size: 16px;
}

.sec-news-detail__ttl {
  font-size: 24px;
  border-bottom: 1px solid #2A3D65;
}

.sec-news-detail .sec-news-pane__category {
  width: inherit;
}

.sec-news-detail__inner a {
  text-decoration: underline;
}

.sec-news-detail__inner .sec-news-pane__category a {
  text-decoration: none;
}

@media screen and (min-width: 768px) {
  .sec-news-detail__ttl {
    font-size: 30px;
    border-bottom: 2px solid #2A3D65;
  }

  .sec-news-detail__head {
    position: relative;
  }

  .sec-news-detail__img-col__pic {
    width: 50%;
  }

  .sec-news-detail__img-col__pic + p {
    width: 50%;
  }

  .sec-news-detail__inner img {
    width: 50%;
    margin: auto;
    display: block;
  }
}

/*----------------------------------------
	page nation
-----------------------------------------*/

.pnavi {
  padding: 8% 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.pnavi .page-numbers {
  font-size: 12px;
  color: #1e1e1e;
  padding: 0.5em 1.1em;
  margin: 0 7px;
  background: #ffffff;
  border: 1px solid #000000;
  transition: all 0.3s cubic-bezier(0.37, 0, 0.63, 1); /*easeInOutSine*/
}

.pnavi .page-numbers:hover {
  opacity: 0.6;
}

.pnavi .page-numbers.current:hover {
  opacity: 1;
}

.pnavi .page-numbers.current {
  background: #000000;
  color: #ffffff;
}

.pnavi .page-numbers.dots,
.pnavi .page-numbers.next,
.pnavi .page-numbers.prev {
  background: #ffffff;
  border: none;
}

.pnavi .page-numbers.next span,
.pnavi .page-numbers.prev span {
  position: relative;
}

.pnavi .page-numbers.next span:before {
  content: '';
  position: absolute;
  top: -1px;
  bottom: 0;
  margin: auto;
  left: -6px;
  width: 8px;
  height: 8px;
  border-top: 1px solid #1e1e1e;
  border-right: 1px solid #1e1e1e;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.pnavi .page-numbers.prev span:before {
  content: '';
  position: absolute;
  top: -1px;
  bottom: 0;
  margin: auto;
  right: -6px;
  width: 8px;
  height: 8px;
  border-top: 1px solid #1e1e1e;
  border-right: 1px solid #1e1e1e;
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
}

.pnavi .link-list a,
.pnavi .prev a,
.pnavi .next a {
  background: #ffffff;
  color: #000000;
  font-size: 14px;
  padding: 0.3em 1em 0.4em 1em;
  border-radius: 50px;
  line-height: 1;
  border: 1px solid #000000;
}

@media screen and (max-width: 767px) {
  .pnavi .link-list a,
  .pnavi .prev a,
  .pnavi .next a {
    font-size: 14px;
  }
}

.works-page .pnavi span {
  padding: 0 0.5em;
}

.works-page .pnavi .link-list a,
.works-page .pnavi .prev a,
.works-page .pnavi .next a {
  width: auto;
  height: auto;
  padding: 1em;
  display: block;
  line-height: 1.6;
  border-radius: 12px;
}

.pnavi .link-list a {
  margin: 0 1em;
}

@media only screen and (min-width: 768px) {
  .pnavi {
    padding: 10% 0 0;
  }

  .pnavi .page-numbers {
    font-size: 16px;
  }

  .pnavi .page-numbers.next {
    margin-left: 8%;
  }

  .pnavi .page-numbers.prev {
    margin-right: 8%;
  }

  .pnavi .link-list a,
  .pnavi .prev a,
  .pnavi .next a {
    position: relative;
    width: 118px;
    height: 48px;
    font-size: 16px;
    padding: 0.1em 1em 0.2em 1em;
    transition: all 0.3s cubic-bezier(0.37, 0, 0.63, 1); /*easeInOutSine*/
  }

  .pnavi .link-list a:hover,
  .pnavi .prev a:hover,
  .pnavi .next a:hover {
    opacity: 0.6;
  }


}

/*----------------------------------------
	sec-top01
-----------------------------------------*/

.sec-top01 {
  padding: 22% 0 0;
  overflow: hidden;
}

.sec-top01__figCol {
  display: flex;
  flex-direction: column;
}

.sec-top01__figCol__item {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.sec-top01__figCol figcaption {
  font-size: 17px;
  line-height: 1.4;
}

.sec-top01__figCol .batu {
  margin: 0 auto;
  width: 11%;
  rotate: 45deg;
}

@media screen and (min-width: 768px) {
  .sec-top01 {
    padding: 12% 0 0;
  }

  .sec-top01__figCol {
    flex-direction: row;
    justify-content: space-between;
  }

  .sec-top01__figCol__item {
    width: calc((100% - 128px) / 2);
    flex-direction: column;
    justify-content: center;
    margin-bottom: auto;
  }

  .sec-top01__figCol span {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .sec-top01__figCol__item:nth-of-type(1) span,
  .sec-top01__figCol__item:nth-of-type(2) span,
  .sec-top01__figCol__item:nth-of-type(3) span {
    width: 100%;
  }

  .sec-top01__figCol figcaption {
    font-size: 20px;
  }

  .sec-top01__figCol .batu {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: calc((64 / 1080) * 100%)
  }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .sec-top01__figCol figcaption {
    font-size: 16px;
  }
}


/*----------------------------------------
	sec-top02
-----------------------------------------*/

.sec-top02 {
  margin: 16% 0 0;
}

@media screen and (min-width: 768px) {
  .sec-top02 {
    margin: 14% 0 0;
  }
}

/*----------------------------------------
	sec-top03
-----------------------------------------*/

.sec-top03 {
  padding: 26% 0 0;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .sec-top03 {
    padding: 20% 0 0;
  }
}

/*----------------------------------------
	sec-banner
-----------------------------------------*/

.sec-banner {
  margin: 12% 0 0;
  overflow: hidden;
}

.sec-banner__inner {
  border-top: 1px dotted #000000;
  border-bottom: 1px dotted #000000;
}

.sec-banner__inner a {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12.5% 0;
  font-size: 23px;
  line-height: 1;
}

.sec-banner__inner a:nth-child(1) {
  position: relative;
}

.sec-banner__inner a:nth-child(1):before {
  content: '';
  position: absolute;
  bottom: 0;
  border-bottom: 1px dotted #000;
  width: 100%;
  height: 1px;
}

.sec-banner__inner a .sec-banner__item {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}

.sec-banner__txt {
  position: relative;
}

.sec-banner__inner .sec-banner__icon {
  display: block;
  position: absolute;
  z-index: 10;
  width: 67px;
  height: 73px;
  margin-left: -9em;
}

.sec-banner__inner .sec-banner__icon:before {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 100% auto;
}

.sec-banner__inner a .sec-banner__icon:before {
  background-image: url(../../images/top/icon_blog.svg);
}

.sec-banner__inner a:hover .sec-banner__icon:before {
  background-image: url(../../images/top/icon_blog_ov.svg);
}


@media screen and (min-width: 768px) {
  .sec-banner {
    margin: 12% 0 0;
  }

  .sec-banner__inner {
    display: flex;
  }

  .sec-banner__inner a {
    justify-content: center;
    font-size: 3vw;
    max-height: 428px;
    transition: all 0.3s ease-out;
  }

  .sec-banner__inner a:nth-child(1):before {
    top: 50%;
    right: 0;
    bottom: inherit;
    transform: translateY(-50%);
    border-right: 1px dotted #000;
    border-bottom: none;
    height: calc(100% - 3em);
    width: 1px;
  }

  .sec-banner__inner a .sec-banner__item {
    transition: all 0.3s ease-out;
  }

  .sec-banner__inner a .sec-banner__item {
    margin-left: 4.2em;
  }

  .sec-banner__inner a .sec-banner__icon {
    width: 114px;
    height: 125px;
  }

  .sec-banner__inner .sec-banner__icon:before {
    transition: all 0.3s ease-out;
  }

  /*hover*/
  .sec-banner__inner a:hover {
    width: 130%;
  }

  .sec-banner a:hover {
    background: #003366;
    color: #ffffff;
    opacity: inherit !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .sec-banner__inner a .sec-banner__icon {
    width: 20%;
    height: 125px;
    margin-left: -9em;
  }

  .btn-link--icon02 {
    width: 23px;
    height: 12px;
  }
}


/*----------------------------------------
	sec-staff
-----------------------------------------*/

.sec-staff {
  position: relative;
  overflow: hidden;
}

.sec-staff__inner {
  padding-top: 28%;
}

.sec-staff__ttl span {
  display: inline-block;
}

.sec-staff__ttl img {
  width: 8vw;
  vertical-align: inherit;
  margin: 0.3em 0.3em 0;
}

.sec-staff .btn-linkWrapper {
  margin: -15% auto 0 50%;
}

@media screen and (min-width: 768px) {
  .sec-staff {
    height: 100vh;
  }

  .sec-staff__inner {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    height: 100%;
    overflow: hidden;
    padding-top: 10%;
  }

  .sec-ttlWrapper_staff {
    max-width: 1200px;
    margin: 0 auto;
  }

  .sec-staff__ttlInner {
    position: absolute;
    left: 0;
    top: 0;
    margin-left: 0;
    z-index: 1;
  }

  .sec-staff__ttl img {
    width: 6.5vw;
  }

  .sec-staff__txt {
    max-width: 400px;
  }

  .sec-staff .btn-linkWrapper {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin: 20% auto 0 25%;
    width: 25%;
    max-width: 363px;
  }
}

@media screen and (min-width: 1200px) {
  .sec-staff__inner {
    padding-top: 20%;
  }

  .sec-staff__ttl img {
    width: 75px;
  }
}

@media screen and (min-width: 1400px) {
  .sec-staff {
    height: 120vh;
  }
}

@media screen and (min-width: 1600px) {
  .sec-staff {
    height: 140vh;
  }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .sec-staff__inner {
    padding-top: 15%;
  }
}

@media screen and (max-width: 420px) {
  .sec-staff .btn-linkWrapper {
    margin: -15% 20% 0;
  }
}

/*----------------------------------------
	sec-top04
-----------------------------------------*/

.sec-top04 {
  margin: 22% 0 0;
}

@media screen and (min-width: 768px) {
  .sec-top04 {
    margin: 8% 0 0;
  }

  .col2Box__txt {
    margin-right: -1.5em;
  }
}

/*----------------------------------------
	sec-top05
-----------------------------------------*/

.sec-top05 {
  position: relative;
  overflow: hidden;
  margin: 22% 0 0;
}

.sec-top05__ttlWrapper > a {
  display: block;
  color: #000000;
}

.sec-top05__ttlWrapper__inner {
  position: relative;
}

.sec-top05__txtWrapper {
  margin-top: -5.4em;
}

.sec-top05__txt {
  display: inline-block;
  padding: 0 20px;
}

.sec-top05__txt-bg {
  position: relative;
  display: inline-block;
}

.sec-top05__txt-bg:before {
  content: "";
  position: absolute;
  bottom: -5px;
  left: -10px;
  top: -5px;
  right: -10px;
  background-color: #ffffff;
  z-index: -1;
}

.btn-link_recruit--icon {
  bottom: 3em;
  right: 4em;
  top: inherit;
  transform: none;
}

@media screen and (min-width: 768px) {
  .sec-top05 {
    max-height: 548px;
    margin: 14% 0 0;
    position: relative;
    overflow: hidden;
  }

  .sec-top05__inner {
    height: 100%;
  }

  .sec-top05__bg {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: -10;
  }

  .sec-top05__bg span {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
    padding-top: 31.8%;
  }

  .sec-top05__bg img {
    position: absolute;
    top: 50%;
    left: 50%;
    object-fit: cover;
    width: 100%;
    height: 100%;
    -webkit-transform: translate(-50%, -50%) scale(1);
    -ms-transform: translate(-50%, -50%) scale(1);
    transform: translate(-50%, -50%) scale(1);
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    -o-transition: transform 0.3s;
  }

  .sec-top05 .sec-ttlWrapper {
    margin: 16% 0 0;
  }

  .sec-top05__ttlWrapper {
    width: 45%;
  }

  .sec-top05__ttlWrapper > a {
    margin-right: 10%;
  }

  .sec-top05__ttlWrapper__inner {
    padding: 20% 0 4% 10%;
  }

  .sec-top05__ttl-bg {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: #ffffff;
    z-index: -1;
  }

  .sec-top05__txtWrapper {
    width: 55%;
    margin: 20% 0 17%;
  }

  .sec-top05__txt {
    font-size: 19px;
  }

  /*hover*/
  .sec-top05__ttlWrapper > a:hover {
    color: #000000;
  }

  .sec-top05 a:hover .sec-top05__bg img {
    -webkit-transform: translate(-50%, -50%) scale(1.02);
    -ms-transform: translate(-50%, -50%) scale(1.02);
    transform: translate(-50%, -50%) scale(1.02);
  }

  /*icon*/
  .btn-link_recruit--icon {
    bottom: 0.5em;
    right: 3em;
    top: inherit;
  }

  /*btn-link hover*/
  .btn-link-recruit:hover {
    color: #999999;
  }

  .btn-link-recruit:hover .btn-link--icon:before {
    transform: none;
  }

  .btn-link-recruit:hover .btn-link--icon:after {
    transform: none;
  }

  .sec-top05 a:hover .btn-link--icon:before {
    transition-duration: 0.6s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    -ms-transition-duration: 0.6s;
    -ms-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    -webkit-transition-duration: 0.6s;
    -webkit-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    -moz-transition-duration: 0.6s;
    -moz-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: translate(100%, 0);
  }

  .sec-top05 a:hover .btn-link--icon:after {
    transform: translate(0, 0);
    transition-duration: 1s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    -ms-transition-duration: 1s;
    -ms-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    -webkit-transition-duration: 1s;
    -webkit-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    -moz-transition-duration: 1s;
    -moz-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    transition-delay: 0.3s;
    -webkit-transition-delay: 0.3s;
  }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .sec-top05__ttlWrapper > a {
    margin-right: 0;
  }

  .sec-top05__txt {
    font-size: 16px;
  }
}

@media screen and (max-width: 320px) {
  .sec-top05__txtWrapper {
    margin-top: -5.5em;
  }
}

/*----------------------------------------
	sec-top05
-----------------------------------------*/

.sec-contact {
  padding: 5% 0 16%;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .sec-contact {
    padding: 10% 0;
  }
}

/*----------------------------------------
	sec-member
-----------------------------------------*/

.sec-member-colWrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 0;
}

.sec-member-col {
  width: 100%;
  margin-top: 3%;
}

.sec-member-col__inner {
  color: inherit;
  text-decoration: inherit;
  transition-delay: 0.2s !important;
  border: 1px solid #003366;
  border-radius: 0;
  display: block;
  position: relative;
  padding: 10px 10px 30px;
  height: 100%;
}

.sec-member-col.modal_open .sec-member-col__inner {
  cursor: pointer;
}

.sec-member__name-col {
  position: relative;
  padding-left: 15%;
  margin-bottom: -1px;
}

.sec-member__name {
  position: absolute;
  top: 50%;
  left: 0%;
  transform: translateY(-50%);
  z-index: 1;
  font-size: 4vw;
  line-height: 1.3;
}

.sec-member__pic {
  position: relative;
  clip-path: polygon(60% 0, 100% 0, 100% 80%, 40% 100%, 0 100%, 0 20%);
  overflow: hidden;
  padding-top: 136%;
}

.sec-member-col .sec-member__pic img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) scale(1);
  -ms-transform: translate(-50%, -50%) scale(1);
  transform: translate(-50%, -50%) scale(1);
  -webkit-transition: -webkit-transform 0.6s;
  transition: -webkit-transform 0.6s;
  -o-transition: transform 0.6s;
  z-index: -2;
}

.sec-member__position-ttl {
  font-size: 14px;
  background: #000000;
  color: #ffffff;
  display: inline-block;
  padding: 0.05em 0.2em;
  margin-bottom: 0.3em;
  margin-left: 15%;
  min-width: 50%;
  text-align: center;
}

.sec-member__position {
  font-size: 16px;
}

.sec-member__keyword-ttl {
  position: relative;
  font-size: 17px;
  line-height: 1;
  margin-top: 1.5em;
}

.sec-member__keyword-ttl:before {
  position: absolute;
  content: '';
  width: 16px;
  height: 2px;
  background: #000000;
  left: 0;
  top: -0.8em;
}

.sec-member__keyword {
  font-size: 16px;
}

.btn-link--icon.btn-link_member--icon {
  top: inherit;
  bottom: 10px;
  right: 10px;
}

/*modal_none*/
.sec-member-col.modal_none .btn-link:hover {
  color: #333333;
}

.sec-member-col.modal_none .btn-link .btn-link--icon.btn-link_member--icon:before,
.sec-member-col.modal_none .btn-link .btn-link--icon.btn-link_member--icon:after {
  background-image: none;
}

@media screen and (min-width: 768px) {
  .sec-member-colWrapper {
    justify-content: flex-start;
    margin-left: -3%;
    padding: 0;
  }

  .sec-member__name-col {
    margin-bottom: -5px;
  }

  .sec-member__name {
    width: 100%;
    font-size: 1.6vw;
    line-height: 1.3;
  }

  .sec-member-col {
    width: 25%;
    margin-top: 6%;
    padding-left: 3%;
  }

  .sec-member__keyword-ttl {
    position: relative;
    font-size: 20px;
    margin-left: 15%;
  }

  .sec-member__keyword-name {
    margin-left: 15%;
  }

  .btn-link_member--icon {
    top: inherit;
    bottom: -5px;
    width: 48px;
    height: 7px;
    right: 0;
  }

  .btn-link--icon.btn-link_member--icon:before,
  .btn-link--icon.btn-link_member--icon:after {
    background-image: url(../images/btn_arrow.svg);
  }

  .sec-member-col.modal_open {
    transition: 0.3s;
  }

  .sec-member-col.modal_open:hover {
    opacity: 0.7;
  }

  .sec-member-col.modal_open .sec-member-col__inner {
    cursor: pointer;
  }

  .sec-member-col.modal_open:hover .sec-member__pic img {
    -webkit-transform: translate(-50%, -50%) scale(1.04);
    -ms-transform: translate(-50%, -50%) scale(1.04);
    transform: translate(-50%, -50%) scale(1.04);
  }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .sec-member-col {
    width: calc(100% / 3);
  }

  .sec-member__name {
    font-size: 2.8vw;
  }
}

@media only screen and (min-width: 992px) and (max-width: 1520px) {
  .sec-member__name {
    font-size: 2.2vw;
  }
}

/*----------------------------------------
	sec-company
-----------------------------------------*/
.sec-company {
  padding: 10% 0 0;
  overflow: hidden;
}

.sec-company__txt {
  font-size: 16px;
}

.sec-company__list {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;

}

.sec-company__list-item {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 46%;
  text-align: center;
}

.sec-company__list .batu {
  margin: 12% auto 0;
  width: 8%;
}

.sec-company__list .icoll {
  margin: 6% auto 18%;
  width: 20%;
}

/*sec-company01 */
.sec-company01 {
  padding: 10% 0 0;
}

/*sec-company02 */
.sec-company02 {
  padding: 15% 0 0;
}

.sec-company02__name span:nth-of-type(1) {
  font-size: 16px;
}

.sec-company02__name span:nth-of-type(2) {
  font-size: 24px;
}

.sec-company02__link {
  font-size: 24px;
  line-height: 1;
}

.sec-company02__link li:nth-of-type(n+2) {
  margin-top: 1em;
}

.sec-company02 .col2Box__pic {
  position: relative;
}

.sec-company02 .col2Box__pic span.en {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  font-size: 21px;
  z-index: 1;
  line-height: 1.2;
  margin: 1em 0 0 0.5em;
}

/*btn-link--icon02-company*/
.btn-link--icon02-company {
  position: absolute;
  bottom: 0;
  right: 0;
  transform: translate(0, -50%);
  width: 23px;
  height: 12px;
}

.btn-link--icon02-company02 {
  position: absolute;
  bottom: 0;
  right: 0;
  top: 50%;
  transform: translate(0, -50%);
  width: 23px;
  height: 12px;
  margin-top: -2%;
}

/*sec-company03 */
.sec-company03 {
  padding: 10% 0 0;
  margin: 15% 0 0;
}

.sec-company03__col {
  width: 50%;
  margin-bottom: 15%;
}

.sec-company03__col-ttl {
  display: inline-block;
  margin-top: -14px;
}

.sec-company03__col-ttl span {
  display: inline-block;
  line-height: 1;
}

.sec-company03__col-ttl span:nth-of-type(1) {
  position: relative;
  font-size: 18px;
}

.sec-company03__col-ttl span:nth-of-type(1) > span {
  position: relative;
  display: inline-block;
  background: #ffffff;
  padding-top: 12px;
  padding-right: 10px;
}

.sec-company03__col-ttl span:nth-of-type(2) {
  font-size: 18px;
}

.sec-company03__col-address {
  line-height: 1.6;
}

.sec-company03__col-ex {
  line-height: 1.6;
}

.btn-link__access {
  padding: 0.5em 0.5em;
  font-size: 14px;
}

@media screen and (min-width: 768px) {
  .sec-company {
    padding: 11% 0 0;
  }

  .sec-company__txt {
    font-size: 20px;
  }

  .sec-company__list {
    justify-content: space-between;
    flex-wrap: nowrap;
  }

  .sec-company__list-item {
    width: 30%;
  }

  .sec-company__list .batu {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-top: -3em;
    width: 5%;
  }

  .sec-company__list .icoll {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-top: -3em;
    margin-bottom: 0;
    width: 5%;
  }

  /*sec-company01 */
  .sec-company01 {
    padding: 11% 0 0;
  }

  .sec-company01 .tbl01 {
    margin-right: -1em;
  }

  .sec-company01 .link_blank a {
    letter-spacing: -0.04em;
  }

  .sec-company01 .link_blank a:hover {
    opacity: 1;
  }

  .sec-company01 .col2PicBox__ex {
    margin-top: 12%;
    width: calc((860 / 1320) * 100%);
  }

  /*sec-company02 */
  .sec-company02 {
    padding: 7.5% 0 0;
  }

  .sec-company02__name span:nth-of-type(1) {
    font-size: 16px;
  }

  .sec-company02__name span:nth-of-type(2) {
    font-size: 24px;
  }

  .sec-company02 .col2Box__pic span.en {
    font-size: 36px;
    z-index: 1;
    line-height: 1.2;
    margin: 0.5em 0 0 0.5em;
  }

  /*sec-company03 */
  .sec-company03 {
    padding: 11.5% 0 3.5%;
    margin: 0;
  }

  .sec-company03__inner {
    margin: 0 -1em;
  }

  .sec-company03__col {
    padding: 0 1em;
    width: 25%;
    margin-bottom: 5em;
  }

  .sec-company03__col-ttl {
    margin-top: -20px;
  }

  .sec-company03__col-ttl span {
    display: inline-block;
    line-height: 1;
  }

  .sec-company03__col-ttl span:nth-of-type(1) {
    font-size: 28px;
  }

  .sec-company03__col-ttl span:nth-of-type(1) > span {
    padding-top: 20px;
    padding-right: 10px;
  }

  .sec-company03__col-ttl span:nth-of-type(2) {
    font-size: 22px;
  }

  .sec-company03__col-address {
    line-height: 1.6;
  }

  .sec-company03__col-ex {
    line-height: 1.6;
  }

  .btn-link__access {
    padding: 0.6em 1em;
    font-size: 16px;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .sec-company__list-item {
    margin: 0 2%;
  }

  .sec-company__list-item span:nth-of-type(1) {
    font-size: 24px;
  }

  .sec-company__list-item span:nth-of-type(2) {
    font-size: 16px;
  }

  /*sec-company03 */
  .sec-company03__col {
    padding: 0 1em;
    width: calc(100% / 3);
  }

  .sec-company03__col-ttl span:nth-of-type(1) {
    font-size: 22px;
  }

  .sec-company03__col-ttl span:nth-of-type(2) {
    font-size: 19px;
  }
}

@media screen and (min-width: 1200px) {
  .sec-company02__link {
    font-size: 26px;
    line-height: 1;
    display: flex;
  }

  .sec-company02__link li span:nth-of-type(1) {
    padding-right: 0.5em;
  }

  .sec-company02__link li {
    padding-right: 3em;
  }

  .sec-company02__link li a {
    padding-right: 0;
  }

  .sec-company02__link li:nth-of-type(n+2) {
    position: relative;
    padding-left: 1.6em;
    margin-top: 0;
  }

  .sec-company02__link li:nth-of-type(n+2):before {
    content: "";
    position: absolute;
    top: -10%;
    left: 0;
    width: 1px;
    height: 110%;
    border-left: 1px dotted #000000;
  }

  a:hover .btn-link--icon02.btn-link--icon02-company:before,
  a:hover .btn-link--icon02.btn-link--icon02-company:after {
    background: url(../images/btn_arrow03_s.svg);
    background-size: 23px 12px;
  }

  .btn-link--icon02-company02 {
    width: 46px;
    height: 24px;
    right: -1.8em
  }

  a:hover .btn-link--icon02.btn-link--icon02-company02:before, a:hover .btn-link--icon02.btn-link--icon02-company02:after {
    background: url(../images/btn_arrow03.svg);
  }
}

@media screen and (max-width: 767px) {
  .sec-company03__col:nth-child(odd) {
    padding-right: 0.5em;
  }

  .sec-company03__col:nth-child(even) {
    padding-left: 0.5em;
  }
}

/*----------------------------------------
	sec-recruit
-----------------------------------------*/

/*sec-recruit-entry-tbl*/
.sec-recruit-entry-tbl__ttl {
  position: relative;
  background: #000000;
  color: #ffffff;
}

.sec-recruit-entry-tbl__ttl:after {
  content: "";
  position: absolute;
  bottom: -19px;
  right: 20px;
  border: 10px solid transparent;
  border-top: 9px solid #000000;
}

.sec-recruit-entry-tbl__conts {
}

.sec-recruit-entry-tbl__txt {
  border-top: 1px dotted #000000;
  padding: 1em 0;
}

.sec-recruit-entry-tbl__txt:first-of-type {
  border-top: none;
}

.sec-recruit-entry-tbl__txt:last-of-type {
  border-bottom: 1px dotted #000000;
}

.sec-recruit-entry-tbl__txt a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 0;
  max-width: inherit;

}

.sec-recruit-entry-tbl__txt a span {
  display: inline-block;
}

@media screen and (min-width: 768px) {
  .sec-recruit-entry-tbl__ttl {
    width: 13%;
  }

  .sec-recruit-entry-tbl__ttl:after {
    bottom: inherit;
    right: -19px;
    border: 10px solid transparent;
    border-left: 9px solid #000000;
  }

  .sec-recruit-entry-tbl__conts {
    width: 87%;
  }

  .sec-recruit-entry-tbl__txt {
  }

  .sec-recruit-entry-tbl__txt:first-of-type {
    border-top: 1px dotted #000000;
  }
}

@media only screen and (min-width: 768px) and (max-width: 992px) {
  .sec-recruit-entry-tbl__ttl {
    width: 20%;
  }
}


@media screen and (min-width: 768px) {
  .sec-recruit-col__inner {
    position: relative;
  }

  .sec-recruit-col__ex {
    width: 100%;
  }
}

/*sec-recruit01*/
.sec-recruit01 {
  padding: 23% 0 0;
}

.sec-recruit01__txtImg {
  width: 60%;
}

@media screen and (min-width: 768px) {
  .sec-recruit01 {
    padding: 5.5% 0 0;
  }

  .sec-recruit01__txtImg {
    width: auto;
    max-width: 320px;
  }
}

/*sec-recruit02*/
.sec-recruit02 {
  padding: 20% 0 0;
}

.sec-recruit02__inner {
  position: relative;
}

.sec-recruit02-col {
  position: relative;
  width: 100%;
  padding-top: 32%;
}

.sec-recruit02-col__contents {
  position: relative;
  color: #ffffff;
}

.sec-recruit02-col__pic {
  position: absolute;
  width: 95%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1;
  margin-top: -16%;
}

.sec-recruit02-col__pic span {
  position: relative;
  display: block;
  width: 100%;
  padding-top: 100%;
  clip-path: polygon(100% 0, 100% 70%, 32% 100%, 0 100%, 0 0);
}

.sec-recruit02-col__pic span img {
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
  object-position: center;
  height: 100%;
}

.sec-recruit02-col__contents__inner {
  position: relative;
  padding: 55% 5% 5% 5%;
  margin: 0 0 0 5%;
}

.sec-recruit02-col__bg {
  position: absolute;
  content: '';
  width: 100%;
  height: 100%;
  right: 0;
  top: 0;
  z-index: -2;
}

.sec-recruit02-col__bg span {
  display: block;
  width: 100%;
  height: 100%;
  background: #000000;
  clip-path: polygon(100% 0, 100% 92%, 92% 100%, 0 100%, 0 0);
}

.sec-recruit02-col__num {
  font-size: 40px;
  line-height: 1.4;
}

.sec-recruit02-col__ttl {
  font-size: 17px;
}

.sec-recruit02-col__ttl-en {
  font-size: 30px;
  line-height: 1.2;
}

.sec-recruit02-col__ex-ttl {
  position: relative;
  display: inline-block;
  font-size: 18px;
  line-height: 1;
  color: #ffffff;
  padding: 0.5em 0.8em;
  background: #000000;
  margin: -1px 0 0;
}

.sec-recruit02-col__ex-ttl:after {
  content: "";
  position: absolute;
  bottom: -19px;
  right: 1em;
  border: 10px solid transparent;
  border-top: 9px solid #000000;
}

.sec-recruit02-col__ex__ttl-sub {
  font-size: 18px;
}

.sec-recruit02-col__ex__txt {
  font-size: 15px;
}

@media screen and (min-width: 768px) {
  .sec-recruit02 {
    padding: 6.5% 0 0;
  }

  .sec-recruit02-col {
    padding-top: 18%;
  }

  .sec-recruit02-col__pic {
    width: 82%;
    margin-top: -9%;
    max-height: 510px;
  }

  .sec-recruit02-col__pic span {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    padding-top: 0;
    clip-path: polygon(100% 0, 100% 50%, 35% 100%, 0 100%, 0 0);
  }

  .sec-recruit02-col__contents__inner {
    padding: 10% 5% 5% 0;
    margin: 0 0 0 18%;
  }

  .sec-recruit02-col__bg span {
    clip-path: polygon(100% 0, 100% 88%, 80% 100%, 0 100%, 0 0);
  }

  .sec-recruit02-col__num {
    font-size: 74px;
    line-height: 1.4;
  }

  .sec-recruit02-col__ttl {
    font-size: 22px;
  }

  .sec-recruit02-col__ttl-en {
    font-size: 51px;
    line-height: 1.2;
  }

  .sec-recruit02-col__txt {
    padding-left: 45%;
    line-height: 1.8;
  }

  .sec-recruit02-col__ex {
    margin: 0 -1.5%;
  }

  .sec-recruit02-col__ex__col {
    padding: 0 1.5%;
  }

  .sec-recruit02-col__ex-ttl {
    font-size: 21px;
  }

  .sec-recruit02-col__ex__ttl-sub {
    font-size: 18px;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .sec-recruit02-col__pic {
    width: 90%;
  }

  .sec-recruit02-col__pic span {
    height: 0;
    padding-top: 65%;
  }

  .sec-recruit02-col__contents__inner {
    padding: 30% 5% 4% 0;
    margin: 0 0 0 10%;
  }

  .sec-recruit02-col__num {
    font-size: 60px;
    line-height: 1.4;
  }

  .sec-recruit02-col__ttl {
    font-size: 20px;
  }

  .sec-recruit02-col__ttl-en {
    font-size: 40px;
    line-height: 1.2;
  }

  .sec-recruit02-col__txt {
    padding-left: 5%;
  }
}

/*sec-recruit02_rev*/
.sec-recruit02-col.sec-recruit02-col_rev .sec-recruit02-col__contents__inner {
  margin: 0 5% 0 0;
}

.sec-recruit02-col.sec-recruit02-col_rev .sec-recruit02-col__pic {
  right: 0;
  left: inherit;
}

.sec-recruit02-col.sec-recruit02-col_rev .sec-recruit02-col__pic span {
  clip-path: polygon(100% 0, 100% 100%, 70% 100%, 0 70%, 0 0);
}

.sec-recruit02-col__contents.sec-recruit02-col__contents_rev .sec-recruit02-col__contents__inner {
  margin: 0 5% 0 0;
}

@media screen and (min-width: 768px) {
  .sec-recruit02-col.sec-recruit02-col_rev .sec-recruit02-col__contents__inner {
    padding: 9% 0 5% 5%;
    margin: 0 20% 0 0;
  }

  .sec-recruit02-col.sec-recruit02-col_rev .sec-recruit02-col__pic span {
    clip-path: polygon(100% 0, 100% 100%, 65% 100%, 0 50%, 0 0);
  }

  .sec-recruit02-col.sec-recruit02-col_rev .sec-recruit02-col__bg span {
    clip-path: polygon(100% 0, 100% 100%, 20% 100%, 0 88%, 0 0);
  }

  .sec-recruit02-col.sec-recruit02-col_rev .sec-recruit02-col__txt {
    padding-left: 0;
    padding-right: 45%;
  }

  .sec-recruit02-col.sec-recruit02-col_rev .sec-recruit02-col__ex-ttl {
    margin-left: 16%;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .sec-recruit02-col.sec-recruit02-col_rev .sec-recruit02-col__contents__inner {
    padding: 30% 0 4% 5%;
    margin: 0 10% 0 0;
  }

  .sec-recruit02-col.sec-recruit02-col_rev .sec-recruit02-col__txt {
    padding-right: 5%;
  }
}

@media only screen and (min-width: 1200px) {
  .sec-recruit02-col.it_col .sec-recruit02-col__ex__col {
    width: 20%;
  }
}

/*sec-recruit03*/
.sec-recruit03 {
  padding: 20% 0 0;
}

.sec-recruit03 .sec-recruit-col__inner * {
  min-height: 0;
  min-width: 0;
}

.sec-recruit03 .sec-other-interview .slick-prev {
  left: -5%;
  margin-top: -18%;
}

.sec-recruit03 .sec-other-interview .slick-next {
  right: -5%;
  margin-top: -18%;
}

@media screen and (min-width: 768px) {
  .sec-recruit03 {
    padding: 9% 0 0;
  }

  .sec-recruit03 .sec-other-interview__slider .slider__item {
    padding: 0 10px;
  }

  .sec-recruit03 .sec-other-interview .slick-prev {
    left: 0;
    margin-top: -10%;
  }

  .sec-recruit03 .sec-other-interview .slick-next {
    right: 0;
    margin-top: -10%;
  }

  .sec-recruit03 .sec-other-interview__numberWrapper {
    left: 10px;
  }
}

@media screen and (max-width: 767px) {
  .sec-recruit03 .sec-other-interview__slider .slick-slide {
    padding: 0;
  }
}


/*sec-recruit04*/
.sec-recruit04 {
  padding: 20% 0 0;
  overflow: hidden;
}

.sec-recruit04-colWrapper {
  padding-top: 8%;
}

.sec-recruit04__ttl {
  position: relative;
  font-size: 24px;
  display: inline-block;
}

.sec-recruit04__ttl:before,
.sec-recruit04__ttl:after {
  content: "";
  position: absolute;
  bottom: -10%;
  background: #000000;
  width: 1px;
  height: 60%;
}

.sec-recruit04__ttl:before {
  left: -20px;
  transform: rotate(-30deg);
}

.sec-recruit04__ttl:after {
  right: -20px;
  transform: rotate(30deg);
}

.sec-recruit04__ttl-sub {
  font-size: 18px;
}

.sec-recruit04__q-col {
  width: 100%;
}

.sec-recruit04__q-col__ttl {
  font-size: 18px;
  background: #000000;
  color: #ffffff;
  padding: 0.1em 0.5em 0.2em;
}

.sec-recruit04__q-col__conts__ttlWrapper {
  position: relative;
}

.sec-recruit04__q-col__conts__ttlWrapper:before {
  content: '';
  position: absolute;
  top: 0;
  left: -3%;
  width: 103%;
  height: 1px;
  border-top: 1px dotted #000000;
}

.sec-recruit04__q-col__conts:nth-of-type(n+2) {
  padding-top: 0.5em;
}

.sec-recruit04__q-col__conts:last-child .sec-recruit04__q-col__conts__ttlWrapper:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: -3%;
  width: 103%;
  height: 1px;
  border-top: 1px dotted #000000;
}

.sec-recruit04__q-col__conts__num {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 24px;
  background: #000000;
  color: #ffffff;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  line-height: 1;
  margin-top: -0.3em;
}

.sec-recruit04__q-col__conts__num .small {
  font-size: 12px;
}

.sec-recruit04__q-col__conts__ttl {
  font-size: 18px;
}

.sec-recruit04__q-col__conts_noNum .sec-recruit04__q-col__conts__ttlWrapper {
  margin-left: 50px;
}

@media screen and (min-width: 768px) {
  .sec-recruit04 {
    padding: 9% 0 0;
  }

  .sec-recruit04__ttl {
    font-size: 32px;
  }

  .sec-recruit04__ttl:before,
  .sec-recruit04__ttl:after {
    bottom: -20%;
    height: 120%;
  }

  .sec-recruit04__ttl:before {
    left: -25px;
  }

  .sec-recruit04__ttl:after {
    right: -25px;
  }

  .sec-recruit04__ttl-sub {
    font-size: 27px;
  }

  .sec-recruit04__q-col__ttl {
    font-size: 24px;
    writing-mode: vertical-rl;
    letter-spacing: 0.2em;
    padding: 2em 0 0;
  }

  .sec-recruit04__q-col__conts:nth-of-type(n+2) {
    padding-top: 0;
  }

  .sec-recruit04__q-col__conts__num {
    font-size: 43px;
    width: 80px;
    height: 80px;
  }

  .sec-recruit04__q-col__conts__num .small {
    font-size: 16px;
  }

  .sec-recruit04__q-col__conts__ttl {
    font-size: 20px;
  }

  .sec-recruit04__q-col__conts_noNum .sec-recruit04__q-col__conts__ttlWrapper {
    margin-left: 80px;
  }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {

}

/*sec-recruit05*/
.sec-recruit05 {
  padding: 20% 0 0;
  overflow: hidden;
}

.sec-recruit05__pic {
  margin-top: 10%;
  width: 100vw;
}

.sec-recruit05__pic img {
  width: inherit;
  min-width: 200vw;
}

.fade.fade_in .sec-recruit05__pic img:first-child {
  animation: loop 100s -50s linear infinite;
}

.fade.fade_in .sec-recruit05__pic img:last-child {
  animation: loop2 100s linear infinite;
}

@media screen and (min-width: 768px) {
  .sec-recruit05 {
    padding: 9% 0 0;
  }

  .sec-recruit05__pic {
    margin-top: 0;
  }

  .sec-recruit05__pic img {
    min-width: 100vw;
  }

  .sec-recruit05 .sec-recruit-col__ex {
    margin-left: 6em;
  }

  .sec-recruit05 .sec-ttlWrapper-lv2-outer {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
  }
}

/*sec-recruit06*/
.sec-recruit06 {
  padding: 20% 0 0;
}

.sec-recruit06__inner {
  width: 100%;
}

.sec-recruit06__ttl-sub {
  font-size: 14px;
  display: inline-block;
  background: #000000;
  color: #ffffff;
  min-width: 30%;
  padding: 0.5em 1em 0.4em;
  margin-top: 9%;
  line-height: 1.2;
}

/*faq-q*/
.sec-recruit06__faq-q {
  position: relative;
  font-size: 16px;
  font-weight: bold;
  border: 1px solid #000000;
  padding: 0.5em 1.25em 0.5em 2.5em;
  background: #ffffff;
}

.sec-recruit06__faq-q:before {
  content: 'Q';
  position: absolute;
  top: 0;
  left: 0;
  font-size: 22px;
  margin-left: 0.4em;
  margin-top: 0.25em;
  font-family: 'Josefin Sans', sans-serif;
}

.sec-recruit06__faq-q:after {
  content: "";
  position: absolute;
  bottom: -12px;
  left: 4em;
  border: 10px solid transparent;
  border-top: 9px solid #000000;
  opacity: 0;
  z-index: -1;
  transition: 0.3s;
  transition-delay: 0.3s;
}

.sec-recruit06__faq-q span {
  position: relative;
  display: inline-block;
  width: 100%;
  height: 100%;
}

.sec-recruit06__faq-q span:before,
.sec-recruit06__faq-q span:after {
  position: absolute;
  content: "";
  display: block;
  transition: all .4s cubic-bezier(.215, .61, .355, 1);
  background: #000000;
  right: 0;
  top: 50%;
  width: 16px;
  height: 1px;
  transform: translateY(-50%);
  margin-right: -0.6em;
}

.sec-recruit06__faq-q span:before {
  transform: translateY(-50%) rotate(90deg) scaleY(1);
}

.accordion-link.open.sec-recruit06__faq-q span:before {
  transform: translateY(-50%) rotate(90deg) scaleY(0);
}

.accordion-link.open.sec-recruit06__faq-q:after {
  bottom: -19px;
  opacity: 1;
}

/*faq-a*/
.sec-recruit06__faq-a {
  position: relative;
  font-size: 16px;
  margin-top: 6%;
  padding: 0 0 3% 2.9em;
  display: none;
}

.sec-recruit06__faq-a span {
  opacity: 0;
  transition: 1s;
}

.sec-recruit06__faq-a.open span {
  opacity: 1;
}

.sec-recruit06__faq-a:before {
  content: 'A';
  position: absolute;
  top: 0;
  left: 0;
  font-size: 22px;
  font-weight: bold;
  margin-left: 0.4em;
  font-family: 'Josefin Sans', sans-serif;
  opacity: 0;
  transition: 1s;
}

.sec-recruit06__faq-a.open:before {
  opacity: 1;
}

@media screen and (min-width: 768px) {
  .sec-recruit06 {
    padding: 9% 0 0;
  }

  .sec-recruit06__ttl-sub {
    font-size: 16px;
    min-width: 30%;
    margin-top: 5.5%;
  }

  .sec-recruit06__faq-list {
    width: 82%;
  }

  .sec-recruit06__faq-q {
    font-size: 20px;
    padding: 1em 2.5em 1em 3.5em;
    line-height: 1.4;
  }

  .sec-recruit06__faq-q:before {
    font-size: 30px;
    margin-top: 0.5em;
    margin-left: 0.8em;
  }

  .sec-recruit06__faq-a {
    font-size: 16px;
    margin-top: 2%;
    line-height: 1.6;
    padding: 1.5% 0 3% 4.5em;
  }

  .sec-recruit06__faq-a:before {
    font-size: 30px;
    margin-top: 0.5em;
    margin-left: 0.8em;
  }

  .sec-recruit06__faq-q span:before,
  .sec-recruit06__faq-q span:after {
    width: 22px;
    height: 1px;
    margin-right: -1.5em;
  }
}


/*sec-recruit07*/
.sec-recruit07 {
  padding: 20% 0 16%;
}

@media screen and (min-width: 768px) {
  .sec-recruit07 {
    padding: 9% 0 11%;
  }
}

/*sec-recruit-form*/
.sec-recruit-form {
  background: #000000;
  padding: 16% 0 14%;
  overflow: hidden;
}

.sec-recruit-form .txt {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  margin-top: -1em;
  z-index: 1;
  color: #ffffff !important;
  line-height: 1.3;
}

.sec-recruit-form .txt span {
  position: relative;
  display: inline-block;
  font-size: 15px;
  color: #ffffff !important;
  white-space: nowrap;
  padding: 0 1.5em;
}

.sec-recruit-form .txt span:after {
  position: absolute;
  content: '';
  background: #000000;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1;
}

.sec-recruit-form .btn-link_black {
  border: 1px solid #ffffff;
  font-size: 24px;
  padding: 1.2em 1.4em;
  border-radius: 60px;
}

@media screen and (min-width: 768px) {
  .sec-recruit-form {
    padding: 6% 0 7%;
  }

  .sec-recruit-form .txt {
    margin-top: -0.5em;
  }

  .sec-recruit-form .txt span {
    font-size: 20px;
  }

  .sec-recruit-form .btn-link_black {
    font-size: 25px;
    padding: 1.4em;
  }

  /*hover*/
  .sec-recruit-form .btn-link_black:hover {
    color: #ffffff !important;
    background: #000000;
    border: 1px solid rgba(255, 255, 255, 0.7);
  }

  .sec-recruit-form .btn-link_black:hover .txt {
    color: #ffffff
  }

  .sec-recruit-form .btn-link_black:hover .btn-link--icon_black:before,
  .sec-recruit-form .btn-link_black:hover .btn-link--icon_black:after {
    background: url(../images/btn_arrow02.svg) center center no-repeat;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .sec-recruit-form .txt {
    margin-top: -0.7em;
  }

  .sec-recruit-form .txt span {
    font-size: 16px;
  }
}


/* ------------------------------
sec-contactform
------------------------------ */

.sec-contactform {
  padding: 10% 0 12%;
}

.sec-contactform p + p {
  padding-top: 4%;
}

.sec-contactform .txt {
  font-size: 14px;
  line-height: 1.4;
}

.sec-contactform.sec-contactform_form a {
  transition: all 0.3s cubic-bezier(0.37, 0, 0.63, 1); /*easeInOutSine*/
}

.sec-contactform.sec-contactform_form a:hover {
  opacity: 0.6;
}

.sec-contactform dl > dt {
  font-size: 16px;
  font-weight: normal;
  padding: 10px 0;
}

.sec-contactform dl > dt > p {
  display: flex;
  justify-content: flex-start;
}

.sec-contactform dl > dd {
  font-size: 16px;
  padding: 5px 0 20px;
}

.sec-contactform dl > dt:last-of-type,
.sec-contactform dl > dd:last-of-type {
  border-bottom: none;
}

.sec-contactform dl > dt span:nth-of-type(2) > span {
  display: inline-block;
  font-size: 11px;
  border-radius: 5px;
  padding: 1px 6px;
  margin-left: 1em;
  background: #000000;
  color: #ffffff;
}

.sec-contactform dl > dt span.any {
  background: #b4b4b4;
}

.sec-contactform input[type=text], .sec-contactform input[type=url], .sec-contactform input[type="email"], .sec-contactform textarea, .sec-contactform select[name="kibou"] {
  width: 100%;
  padding: 8px 8px;
}

.sec-contactform input[type=text], .sec-contactform input[type="email"], .sec-contactform input[type="date"], .sec-contactform textarea, .sec-contactform select {
  border: 1px solid #000000;
}

.sec-contactform select:not([name="kibou"]) {
  padding: 2px 2px 3px 2px;
}

.sec-contactform input[type=text]:focus::placeholder {
  color: transparent;
}

.sec-contactform label {
  margin: 0;
}

.sec-contactform .contact__submit {
  padding: 0 15px;
}

.sec-contactform .wpcf7-list-item-label {
  margin-left: 3px;
}

.sec-contactform .wpcf7-submit {
  width: 80%;
  background: #000000;
  color: #ffffff;
  font-size: 18px;
  font-weight: bold;
  padding: 0.6em 1em 0.6em 1em;
  border-radius: 50px;
}

.sec-contactform .wpcf7 form .wpcf7-response-output {
  margin: 0 0.5em 5em;
}

#address1 {
  margin: 0 0 16px;
}

#address2 {
  margin: 0 0 10px;
}

.sec-contactform .wpcf7-list-item {
  margin: 0 1em 0 0;
}

.sec-contactform .wpcf7-list-item.last {
  margin: 0;
}

.sec-contactform .wpcf7 .ajax-loader {
  display: block !important;
  margin: auto !important;
}

.sec-contactform .txt {
  padding: 0 15px;
}

.sec-contactform .perrson_box {
  height: 150px;
  padding: 1.5em;
  border: 1px solid #000000;
  overflow-y: scroll;
}

.btn-link-contact {
  position: relative;
  font-size: 14px;
}

.btn-link--icon02.btn-link--icon02-contact {
  position: absolute;
  right: 2em;
  top: 50%;
  bottom: inherit;
  transform: translateY(-50%);
}

.btn-link--icon02.btn-link--icon02-contact:before,
.btn-link--icon02.btn-link--icon02-contact:after {
  background-image: url(../images/btn_arrow03_2.svg);
}

.btn-link--icon02.btn-link--icon02-contact.white:before,
.btn-link--icon02.btn-link--icon02-contact.white:after {
  background-image: url(../images/btn_arrow03.svg);
}

@media only screen and (min-width: 768px) {
  .sec-contactform p + p {
    padding-top: 1.5%;
  }

  .sec-contactform .sec_cont {
    max-width: 950px;
    margin: 0 auto;
    padding-top: 90px;
  }

  .sec-contactform dl {
    display: flex;
    flex-flow: row wrap;
  }

  .sec-contactform dl > dt {
    flex-basis: 30%;
    font-weight: normal;
    padding: 15px 0 15px 0;
    display: flex;
    align-items: start;
    justify-content: space-between;
  }

  .sec-contactform dl > dt > p {
    width: 100%;
    justify-content: space-between;
    align-items: start;
    line-height: 1.6;
  }

  .sec-contactform dl > dd {
    flex-basis: 70%;
    padding: 15px 0 15px 20px;
    background: #ffffff;
  }

  .sec-contactform .contact__submit {
    padding: 0;
  }

  .sec-contactform dl > dt span:nth-of-type(2) > span {
    font-size: 14px;
    padding: 4px 12px 6px;
  }

  .sec-contactform .wpcf7-list-item {
    margin-bottom: 0.5em;
  }

  .sec-contactform .wpcf7-submit {
    position: relative;
    width: 118px;
    height: 48px;
    font-weight: bold;
    padding: 0.2em 1em 0.2em 1em;
    transition: all 0.3s cubic-bezier(0.37, 0, 0.63, 1); /*easeInOutSine*/
  }

  .sec-contactform .wpcf7-submit:hover {
    color: #2A3D65;
    background: #ffffff;
  }

  .sec-contactform .perrson_box {
    height: 200px;
  }

  .btn-link-contact {
    font-size: 16px;
    min-width: 426px;
    max-width: fit-content;
  }

  a:hover .btn-link--icon02.btn-link--icon02-contact:before,
  a:hover .btn-link--icon02.btn-link--icon02-contact:after {
    background-image: url(../images/btn_arrow03.svg);
  }
}


/*sec-projects*/
.sec-projects {
  padding-top: 24%;
}

.works-page.sec-projects {
  padding-top: 5%;
}

.sec-projects-ttl01 {
  padding: 16% 0 6%;
}

.sec-projects-ex01 + .sec-projects-ex01 {
  margin-top: 2em;
  padding-top: 2em;
  border-top: 1px dotted #000000;
}

.sec-projects-ttl01__ttlWrappper {
  position: relative;
  margin-top: -1em;
}

.sec-projects-ttl01__ttl-en {
  display: block;
  background: #000000;
  color: #ffffff;
  max-width: 348px;
  margin: 0 auto;
  font-size: 14px;
  line-height: 1;
  padding: 0.6em 0 0.5em;
}

.sec-projects-ttl01__ttl {
  font-size: 20px;
}


.sec-projects-ttl02 {
  padding: 0 0 8%;
}

.sec-projects-ttl02__ttlWrappper {
  position: relative;
  display: inline-block;
  background: #ffffff;
  padding: 3em 0.5em 0;
  margin: -2em 0.5em;
}

.sec-projects-ttl02__ttlWrappper .sec-ttlWrapper-lv2 {
  display: inline-block;

}

.sec-projects-ttl02__ttl-en {
  display: block;
  background: #000000;
  color: #ffffff;
  max-width: 348px;
  margin: 0 auto;
  font-size: 14px;
  line-height: 1;
  padding: 0.6em 0 0.5em;
}

.sec-projects-ttl02__ttl {
  font-size: 20px;
}


.sec-projects-ex01__ttl-en {
  position: relative;
  display: inline-block;
  font-size: 14px;
  border-radius: 30px;
  border: 1px solid #000000;
  line-height: 1;
  padding: 0.6em 1.8em 0.5em;
}

.sec-projects-ex01__ttl-en:before {
  position: absolute;
  content: '';
  background: #000000;
  width: 16px;
  height: 1px;
  right: 22px;
  bottom: 3px;
  transform: rotate(55deg);
  transform-origin: left top;
  z-index: 2;
}

.sec-projects-ex01__ttl-en:after {
  position: absolute;
  content: '';
  background: #ffffff;
  width: 14px;
  height: 15px;
  right: 1.5em;
  bottom: -10px;
  z-index: 1;
}

.sec-projects-ex01__ttl {
  font-size: 20px;
  line-height: 1.4;
}

.sec-projects-ex01__ttl02 > span {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 14px;
  line-height: 1.4;
  border: 1px solid #000000;
  padding: 0.5em 1.5em;
}

.sec-projects-ex01__ttl02 > span:nth-of-type(1) {
  background: #000000;
  color: #ffffff;
}

.sec-projects-ex01__ttl02 > span:nth-of-type(2) {
  background: #ffffff;
}

.sec-projects-ex01__ttl02 > span:nth-of-type(2) > span:nth-of-type(1) {
  font-size: 18px;
}

/*size_s*/
.sec-projects-ex01__ttl_s {
  font-size: 18px;
}

.sec-projects-ex01__ttl02_s > span {
  font-size: 16px;
  padding: 0.5em 1em;
}

.sec-projects-ex01__flow:nth-of-type(n+2) {
  padding-top: 5em;
}

.sec-projects-ex01__flow-icon img {
  width: auto;
  height: 35px;
}

.sec-projects-ex01__flow-ttl {
  position: relative;
  font-size: 18px;
}

.sec-projects-ex01__flow-col {
  position: relative;
}

.sec-projects-ex01__flow-col:before {
  position: absolute;
  content: '';
  background: #000000;
  width: 1em;
  height: 1px;
  left: 50%;
  top: 0;
  transform: translateX(-50%) rotate(-35deg);
  transform-origin: right top;
  margin-top: -1em;
  z-index: 2;
}

.sec-projects-ex01__flow-col:after {
  position: absolute;
  top: -1em;
  left: 50%;
  margin-top: -2.5em;
  transform: translateX(-50%);
  background: #000000;
  content: "";
  height: 3em;
  width: 1px;
  margin-left: -0.25em;
}

.sec-projects-ex01__flow:nth-of-type(1) .sec-projects-ex01__flow-col:before,
.sec-projects-ex01__flow:nth-of-type(1) .sec-projects-ex01__flow-col:after {
  content: none;
}

@media screen and (min-width: 768px) {
  .sec-projects-ex01__flow:nth-of-type(n+2) {
    padding-top: 0;
  }

  .sec-projects-ex01__flow-col:before,
  .sec-projects-ex01__flow-col:after {
    content: none;
  }
}

.sec-projects-col2__inner:nth-of-type(n+2) {
  padding-top: 12%;
}

.sec-projects-col2__pic {
  position: relative;
}

.sec-projects-col2__pic span {
  font-size: 30px;
  color: #ffffff;
  line-height: 1.2;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.sec-projects__ttl {
  font-size: 20px;
}

.works-page .sec-projects__inner__txt p {
  margin-bottom: 1em;
}

.works-page .sec-projects__inner__txt img {
  width: auto;
}

.works-page .sec-projects__inner__txt ol, .works-page .sec-projects__inner__txt ul {
  padding-left: 0;
  margin-bottom: 1em;
}

.works-page .sec-projects__inner__txt ol > li {
  list-style: decimal;
  margin-left: 1.5em;
  margin-bottom: 0.2em;
}

.works-page .sec-projects__inner__txt ul > li {
  list-style: disc;
  margin-left: 1.5em;
  margin-bottom: 0.2em;
}

.sec-projects-col2__list p {
  border: 1px solid #000000;
  color: #000000;
  width: 48.7%;
  padding: 0.5em 0.1em;
  line-height: 1.2;
}

.sec-projects-col2__list p:nth-child(even) {
  margin-left: 1.3%;
}

.sec-projects-col2__list p:nth-of-type(n+3) {
  margin-top: 1.3%;
}

.sec-projects-ttl-ex dt {
  background: #000000;
  padding: 0.3em 1.5em;
  color: #ffffff;
}

@media screen and (min-width: 768px) {
  .sec-projects-col2__list p {
    width: inherit;
    padding: 0.5em 1em;
    margin-top: 1.3%;
    margin-right: 1.3%;
  }

  .sec-projects-col2__list p:nth-child(even) {
    margin-left: inherit;
  }
}


/*sec-it04*/
.sec-it04__ex-ttl:nth-of-type(n+2) {
  margin-top: 15%;
}

.sec-it04__ex-ttl .en {
  font-size: 12px;
  border-top: 1px dotted #000000;
}

/*sec-it05*/
.sec-it05 .sec-projects-ex01__ttl02 > span:nth-of-type(1) {
  width: 50%;
  padding: 0.3em 0.8em;
}

.sec-it05 .sec-projects-ex01__ttl02 > span:nth-of-type(2) {
  width: 50%;
  padding: 0.3em 0.8em;
}

/*sec-consulting04*/
.sec-consulting04__ex-ttl:nth-of-type(n+2) {
  margin-top: 15%;
}

.sec-consulting04__ex-ttl .en {
  font-size: 12px;
  border-top: 1px dotted #000000;
}

/*sec-tbl-scroll*/
.sec-tbl-scroll {
  overflow-x: auto;
}

.swipe {
  position: relative;
}

.sec-projects-tbl01 {
  width: 100%;
  border-collapse: separate;
  border-spacing: 2px;
  background: #ffffff;
}

.sec-projects-tbl01 th {
  color: #ffffff;
  text-align: center;
  vertical-align: middle;
  background: #000000;
  padding: 0.5em
}

.sec-projects-tbl01 th:nth-of-type(1) {
  width: 75%;
}

.sec-projects-tbl01 th:nth-of-type(2) {
  width: 25%;
}

.sec-projects-tbl01 td {
  background: #ffffff;
  vertical-align: middle;
  padding: 1.2em 2em;
  line-height: 1.5;
}

.sec-projects-tbl01 tr:not(.last):nth-child(odd) td,
.sec-projects-tbl01 tr.last td,
.sec-projects-tbl01 tr.last2 td,
.sec-projects-tbl01 tr.last3 td {
  background: #F5F5F5;
}

.sec-projects-tbl01 tr:not(.last) td:nth-of-type(1) span:nth-of-type(1),
.sec-projects-tbl01 tr.last td:nth-of-type(1) span:nth-of-type(1) {
  font-size: 30px;
}

.sec-projects-tbl01 tr:not(.last) td:nth-of-type(1) span:nth-of-type(2),
.sec-projects-tbl01 tr.last td:nth-of-type(1) span:nth-of-type(2) {
  font-size: 18px;
}

.sec-projects-tbl01 tr:not(.last):not(.last2):not(.last3) td:nth-of-type(2) span:nth-of-type(1),
.sec-projects-tbl01 tr.last td:nth-of-type(3) span:nth-of-type(1),
.sec-projects-tbl01 tr.last2 td:nth-of-type(2) span:nth-of-type(1),
.sec-projects-tbl01 tr.last3 td:nth-of-type(2) span:nth-of-type(1) {
  font-size: 28px;
}

@media screen and (max-width: 992px) {
  .sec-projects-tbl01 {
    /*width: 1000px;*/
  }

  .sec-projects-tbl01 td {
    padding: 1em;
  }

  .sec-projects-tbl01 tr:not(.last) td:nth-of-type(1) span:nth-of-type(1),
  .sec-projects-tbl01 tr.last td:nth-of-type(1) span:nth-of-type(1) {
    font-size: 24px;
  }

  .sec-projects-tbl01 tr:not(.last):not(.last2):not(.last3) td:nth-of-type(2) span:nth-of-type(1),
  .sec-projects-tbl01 tr.last td:nth-of-type(3) span:nth-of-type(1),
  .sec-projects-tbl01 tr.last2 td:nth-of-type(2) span:nth-of-type(1),
  .sec-projects-tbl01 tr.last3 td:nth-of-type(2) span:nth-of-type(1) {
    font-size: 22px;
  }

  /*.swipe_icon {
display: block;
position: absolute;
top: calc(50% - 55px);
left: calc(50% - 55px);
z-index: 200;
width: 150px;
height: 150px;
border-radius: 4px;
background: url(../images/icon_swipe.svg) center center no-repeat;
background-size: 100% auto;
pointer-events: none;
transition: opacity 0.2s, visibility 0.2s;
background-color: rgba(255,255,255,0.8);
border: 20px solid rgba(255,255,255,0.8);
outline: 1px solid #000000;
}
.swipe_icon.hide {
opacity: 0;
visibility: hidden;
}*/
}

@media only screen and (min-width: 768px) {
  .sec-projects {
    padding-top: 12%;
  }

  .works-page.sec-projects {
    padding-top: 7%;
  }

  .sec-projects__ttl {
    font-size: 24px;
  }

  .sec-projects-ttl01 {
    padding: 10% 0 3%;
  }

  .sec-projects-ttl01__ttl-en {
    font-size: 15px;
  }

  .sec-projects-ttl01__ttl {
    font-size: 33px;
  }

  .sec-projects-ex01 + .sec-projects-ex01 {
    margin-top: 4em;
    padding-top: 3em;
  }

  .sec-projects-ex01__ttl-en {
    font-size: 15px;
  }

  .sec-projects-ex01__ttl {
    font-size: 26px;
  }

  .sec-projects-ex01__ttl02 > span {
    font-size: 16px;
    line-height: 1.6;
  }

  .sec-projects-tbl01 th:nth-of-type(1) {
    width: 60%;
  }

  .sec-projects-tbl01 th:nth-of-type(2) {
    width: 40%;
  }

  /*size_s*/
  .sec-projects-ex01__ttl02_s > span {
    padding: 0.5em 1.5em;
  }

  .sec-projects-ex01__flow:nth-of-type(1) {
    width: 30%;
  }

  .sec-projects-ex01__flow:nth-of-type(2) {
    width: 30%;
  }

  .sec-projects-ex01__flow:nth-of-type(3) {
    width: 40%;
  }

  .sec-projects-ex01__flow:nth-of-type(n+2) {
    margin-left: 2.5em;
  }

  .sec-projects-ex01__flow-txt:before,
  .sec-projects-ex01__flow-txt:after {
    content: none;
  }

  .sec-projects-ex01__flow-ttl:before {
    position: absolute;
    content: '';
    background: #000000;
    width: 1em;
    height: 1px;
    right: 0;
    top: 50%;
    transform: translateY(-50%) rotate(35deg);
    transform-origin: right top;
    z-index: 2;
  }

  .sec-projects-ex01__flow-ttl:after {
    background: #000000;
    content: "";
    flex-grow: 1;
    margin-left: 1.5em;
    height: 1px;
    min-width: 1.5em;
  }

  .sec-projects-ex01__flow:last-of-type .sec-projects-ex01__flow-ttl:before,
  .sec-projects-ex01__flow:last-of-type .sec-projects-ex01__flow-ttl:after {
    content: none;
  }

  .sec-projects-col2__ex {
    padding-left: 5%;
  }

  .sec-projects-col2__inner:nth-child(odd) {
    padding-right: 2%;
  }

  .sec-projects-col2__inner:nth-child(even) {
    padding-left: 2%;
  }

  .sec-projects-col2__inner:nth-of-type(n+2) {
    padding-top: 0;
  }

  .sec-projects-col2__inner:nth-of-type(n+3) {
    padding-top: 5%;
  }

  /*sec-it04*/
  .sec-it04__ex-ttl:nth-of-type(n+2) {
    margin-top: 0;
  }

  .sec-it04__ex-ttl {
    width: 23%;
  }

  .sec-it04__ttlWrappper {
    margin-top: -4em;
    padding: 6.5em 10em 0;
  }

  /*sec-it05*/
  .sec-it05 .sec-projects-ex01__ttl02 > span:nth-of-type(1) {
    width: 40%;
  }

  .sec-it05 .sec-projects-ex01__ttl02 > span:nth-of-type(2) {
    width: 60%;
  }

  /*sec-consulting04*/
  .sec-consulting04__ex-ttl:nth-of-type(n+2) {
    margin-top: 0;
  }

  .sec-consulting04__ex-ttl {
    width: 31%;
  }

  .sec-projects-ttl02__ttlWrappper {
    margin: -8em 0 0;
    padding: 7em 8em 0;
  }
}

@media only screen and (min-width: 768px) {
  .sec-projects-ex01__ttl02_s > span:nth-of-type(1) {
    width: 30%;
  }

  .sec-projects-ex01__ttl02_s > span:nth-of-type(2) {
    width: 70%;
    min-width: 138px;
  }
}

@media only screen and (min-width: 768px) and (max-width: 992px) {
  .sec-projects-col2__ex {
    padding-left: 0;
  }

  .sec-projects-ttl02__ttlWrappper {
    margin-top: -2.5em;
    padding: 4.5em 4em 0;
  }
}

@media only screen and (min-width: 1201px) {
  .sec-projects-ex01__ttl_s {
    font-size: 22px;
  }

  .sec-projects-ex01__ttl02_s > span {
    line-height: 1.2;
  }

  .sec-projects-ex01__ttl02_s > span:nth-of-type(1) {
    width: inherit;
    padding: 0.3em 3em;
  }

  .sec-projects-ex01__ttl02 > span:nth-of-type(2) {
    width: inherit;
    padding: 0.3em 1em;
    min-width: 198px;
  }

  .sec-projects-ex01__ttl02 > span:nth-of-type(2) > span:nth-of-type(1) {
    font-size: 28px;
  }
}

/*sec-interview*/
.sec-interview-ttl01Wrapper {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  background: #000000;
  color: #ffffff;
  padding: 1em 1em 1em;
  clip-path: polygon(25% 0, 100% 0, 100% 100%, 0 100%, 0 20%);
  z-index: 1000;
}

.sec-interview-ttl01-date {
  font-size: 14px;
  line-height: 1;
}

.col2PicBox-interview__inner {
  position: relative;
}

.col2PicBox-interview .col2PicBox__ex-bottom {
  position: absolute;
  top: 50%;
  left: 0%;
  transform: translateY(-50%);
  margin-left: -0.5em;
  z-index: 100;
}

.col2PicBox-interview__txt {
  font-size: 16px;
  font-weight: bold;
  color: #000000;
}

.col2PicBox-interview__txt-bg:before {
  background: #ffffff;
}

.col2PicBox-interview__ex__name {
  font-size: 18px;
  line-height: 1;
}

.col2PicBox-interview__ex__icon-col {
  width: 50px;
}

.col2PicBox-interview__ex__icon {
  border: 2px solid #000000;
  border-radius: 50%;
}

.col2PicBox-interview__ex__icon-col span {
  position: relative;
  display: inline-block;
}

.col2PicBox-interview__ex__icon-col span:after {
  content: "";
  position: absolute;
  top: 50%;
  right: -12px;
  transform: translateY(-50%);
  border: 5px solid transparent;
  border-left: 8px solid #000000;
}

.col2PicBox-interview__ex__inner {
  width: calc(100% - 50px);
  padding-top: 1.2em;
}

.col2PicBox-interview__ex + .col2PicBox-interview__ex {
  margin-top: 1em;
}

.col2PicBox-interview__ttl {
  font-size: 20px;
}

.col2PicBox-interview__ttl-name {
  position: relative;
  display: inline-block;
  background: #000000;
  color: #ffffff;
  min-width: 8em;
  text-align: center;
  font-size: 16px;
}

.col2PicBox-interview__ttl-name:before {
  content: "";
  position: absolute;
  bottom: -11px;
  right: 1em;
  border: 6px solid transparent;
  border-top: 6px solid #000000;
}

.col2PicBox-interview__pic img {
  clip-path: polygon(100% 0, 100% 80%, 80% 100%, 0 100%, 0 0);
}

.sec-interview-ttl01 {
  font-size: 24px;
  line-height: 1;
}

.sec-interview-ttl02 {
  font-size: 23px;
}

.sec-interview-ttl03 {
  font-size: 14px;
  font-weight: bold;
  display: inline-flex;
  align-items: center;
  background: #000000;
  color: #ffffff;
  margin: 0 auto;
  line-height: 1;
  padding: 0.6em 1em 0.5em;
}

.sec-interview-ttl04 {
  font-size: 13px;
  line-height: 1;
}

.sec-interview-txt01 {
  font-size: 14px;
  line-height: 1.4;
}

.sec-interview-txt02 {
  font-size: 14px;
  line-height: 1.4;
}

/*rev*/
.col2PicBox-interview_rev .col2PicBox__ex-bottom {
  margin-left: 0;
  margin-right: -0.5em;
  left: inherit;
  right: 0;
}

.col2PicBox-interview_rev .col2PicBox-interview__pic img {
  clip-path: polygon(100% 0, 100% 100%, 20% 100%, 0 80%, 0 0);
}

@media only screen and (min-width: 768px) {
  .sec-interview-ttl01Wrapper {
    position: inherit;
    top: inherit;
    left: inherit;
    padding: 8em 1.5em 2em;
    clip-path: polygon(50% 0, 100% 0, 100% 100%, 0 100%, 0 20%);
    margin-top: -8em;
  }

  .sec-interview-ttl01-date {
    font-size: 16px;
    line-height: 1;
  }

  .col2PicBox-interview .col2PicBox__ex-bottom {
    margin-left: -4em;
  }

  .col2PicBox-interview__txt {
    font-size: 28px;
  }

  .col2PicBox-interview__ex__name {
    font-size: 22px;
  }

  .col2PicBox-interview__ex__icon-col {
    width: 80px;
  }

  .col2PicBox-interview__ex__inner {
    width: calc(100% - 80px);
    padding-top: 1.9em;
  }

  .col2PicBox-interview__ttl {
    font-size: 26px;
  }

  .col2PicBox-interview__ttl-name {
    min-width: 8em;
    text-align: center;
    font-size: 22px;
  }

  .col2PicBox-interview__ttl-name:before {
    bottom: -16px;
    border: 8px solid transparent;
    border-top: 8px solid #000000;
  }

  .col2PicBox-interview__pic img {
    clip-path: polygon(100% 0, 100% 75%, 75% 100%, 0 100%, 0 0);
  }

  .col2PicBox-interview__text-sub {
    padding-right: 25%;
  }

  .sec-interview-ttl01 {
    font-size: 36px;
  }

  .sec-interview-ttl02 {
    font-size: 36px;
  }

  .sec-interview-ttl03 {
    font-size: 16px;
    padding: 0.6em 2em 0.5em;
  }

  .sec-interview-ttl04 {
    font-size: 28px;
  }

  .sec-interview-txt01 {
    font-size: 16px;
  }

  .sec-interview-txt02 {
    font-size: 16px;
  }

  .kv-lv2.kv-lv2-center .kv-lv2__pic.kv-lv2__pic_interview {
    clip-path: polygon(40% 0, 100% 0, 100% 100%, 0 100%, 0 55%);
  }

  /*rev*/
  .col2PicBox-interview_rev .col2PicBox__ex-bottom {
    margin-right: -6em;
  }

  .col2PicBox-interview_rev .col2PicBox-interview__pic img {
    clip-path: polygon(100% 0, 100% 100%, 25% 100%, 0 75%, 0 0);
  }

  .col2PicBox-interview_rev .col2PicBox-interview__text-sub {
    padding-right: 0;
    padding-left: 25%;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1200px) {
  .sec-interview-ttl01Wrapper {
    padding: 5em 1em 1.5em;
    clip-path: polygon(50% 0, 100% 0, 100% 100%, 0 100%, 0 20%);
    margin-top: -4em;
  }

  .col2PicBox-interview .col2PicBox__ex-bottom {
    margin-left: -0.5em;
  }

  .sec-interview-ttl01 {
    font-size: 30px;
  }

  .sec-interview-ttl02 {
    font-size: 30px;
  }

  .col2PicBox-interview__txt {
    font-size: 24px;
  }

  .col2PicBox-interview__pic img {
    clip-path: polygon(100% 0, 100% 80%, 80% 100%, 0 100%, 0 0);
  }

  .col2PicBox-interview__text-sub {
    padding-right: 20%;
  }

  /*rev*/
  .col2PicBox-interview_rev .col2PicBox__ex-bottom {
    margin-right: -0.5em;
  }

  .col2PicBox-interview_rev .col2PicBox-interview__pic img {
    clip-path: polygon(100% 0, 100% 100%, 20% 100%, 0 80%, 0 0);
  }

  .col2PicBox-interview_rev .col2PicBox-interview__text-sub {
    padding-right: 0;
    padding-left: 20%;
  }
}


/*----------------------------------------
	sec-other-interview
-----------------------------------------*/

.sec-other-interview {
  padding-top: 24%;
  padding-bottom: 20%;
}

.sec-other-interview__slider {
  overflow: hidden;
}

.sec-other-interview__slider .slider__item {
  position: relative;
  padding: 0;
}

.sec-other-interview__slider .slider__pic {
  position: relative;
}

.sec-other-interview .slider__pic__outer {
  position: relative;
}

.sec-other-interview .slider__pic__outer span {
  padding-top: 40%;
  display: block;
}

.sec-other-interview .slider__pic__outer img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  clip-path: polygon(10.5% 0, 100% 0, 100% 80%, 73% 100%, 0 100%, 0 21%);
  z-index: -1;
}

.sec-other-interview__numberWrapper {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  background: #000000;
  color: #ffffff;
  padding: 1.5em 1em 1em;
  clip-path: polygon(25% 0, 100% 0, 100% 100%, 0 100%, 0 20%);
  z-index: 1000;
}

.sec-other-interview__ttlWrapper {
  margin-top: -2.3em;
  margin-bottom: 1em;
}

.sec-other-interview__position {
  font-size: 11px;
  font-weight: bold;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #000000;
  color: #ffffff;
  line-height: 1;
  padding: 0.4em 0.2em 0.5em;
  min-width: 110px;
  text-align: center;
}

.sec-other-interview__name {
  position: relative;
  font-size: 11px;
  margin-top: 0.6em;
  text-align: center;
  line-height: 1;
}

.sec-other-interview__ttl-innner {
  text-align: center;
}

.sec-other-interview__ttl-innner:nth-of-type(n+2) {
  margin-left: 0.3em;
}

.sec-other-interview__ttl-innner:nth-of-type(n+2) .sec-other-interview__name:before,
.sec-other-interview__ttl-innner:nth-of-type(n+2) .sec-other-interview__name:after {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  left: -0.8em;
  display: block;
  margin-top: 0;
  width: 16px;
  height: 1px;
  background-color: #000000;
}

.sec-other-interview__ttl-innner:nth-of-type(n+2) .sec-other-interview__name:before {
  transform: rotate(45deg);
}

.sec-other-interview__ttl-innner:nth-of-type(n+2) .sec-other-interview__name:after {
  transform: rotate(-45deg);
}

.sec-other-interview__txt {
  font-size: 14px;
  padding-bottom: 2em;
}

.sec-other-interview .btn-link {
  border: none;
}

.btn-link--icon.btn-link_other-interview--icon {
  margin-top: 0;
  margin-bottom: 10%;
  margin-right: 0;
  top: inherit;
  bottom: 0;
  right: 0;
}

.sec-other-interview .slick-dots li.slick-active button:before {
  background: #000000;
  opacity: 1 !important;
  width: 14px;
  height: 14px;
}

.sec-other-interview .slick-dots li button:before {
  border: 1px solid #000000;
  opacity: 1 !important;
  border-radius: 50%;
  color: transparent;
  width: 10px;
  height: 10px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}

.sec-other-interview .sec-ttl-lv2 {
  font-size: 28px;
}

.sec-other-interview .sec-ttl-lv2-sub {
  margin-top: -0.5em;
  font-size: 16px;
}

.sec-interview-nameCol:nth-of-type(n+2) {
  position: relative;
  margin-left: 5.5em;
}

.sec-interview-nameCol:nth-of-type(n+2):before,
.sec-interview-nameCol:nth-of-type(n+2):after {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  left: -19%;
  display: block;
  margin-top: 0.5em;
  width: 32px;
  height: 1px;
  background-color: #000000;
}

.sec-interview-nameCol:nth-of-type(n+2):before {
  transform: rotate(45deg);
}

.sec-interview-nameCol:nth-of-type(n+2):after {
  transform: rotate(-45deg);
}

@media screen and (min-width: 768px) {
  .sec-other-interview {
    padding-top: 10%;
    padding-bottom: 0;
  }

  .sec-other-interview__slider .slider__item {
    padding: 0 35px;
  }

  .sec-other-interview__numberWrapper {
    position: absolute;
    top: 0;
    left: 35px;
    padding: 3.5em 1.5em 2em;
    clip-path: polygon(62% 0, 100% 0, 100% 100%, 0 100%, 0 25%);
  }

  .sec-other-interview__number {
    font-size: 28px;
  }

  .sec-other-interview__ttlWrapper {
    margin-top: -2.3em;
    margin-bottom: 3em;
  }

  .sec-other-interview__ttl-innner:nth-of-type(n+2) {
    margin-left: 3.5em;
  }

  .sec-other-interview__position {
    font-size: 16px;
    padding: 0.6em 1.5em 0.7em;
    min-width: 144px;
  }

  .sec-interview-nameCol:nth-of-type(n+2):before,
  .sec-interview-nameCol:nth-of-type(n+2):after {
    left: -30%;
  }

  .sec-other-interview__name {
    font-size: 24px;
  }

  .sec-other-interview__ttl-innner:nth-of-type(n+2) .sec-other-interview__name:before,
  .sec-other-interview__ttl-innner:nth-of-type(n+2) .sec-other-interview__name:after {
    left: -1.6em;
    margin-top: 0;
    width: 40px;
  }

  .sec-other-interview__txt {
    font-size: 15px;
    padding-bottom: 4em;
  }

  .btn-link--icon.btn-link_other-interview--icon {
    margin-bottom: 6%;
    margin-right: 2%;
  }

  .sec-other-interview .sec-ttl-lv2 {
    font-size: 53px;
  }

  .sec-other-interview .sec-ttl-lv2-sub {
    font-size: 26px;
  }
}

@media only screen and (min-width: 768px) and (max-width: 992px) {
  .sec-other-interview__position {
    font-size: 14px;
  }

  .sec-other-interview__name {
    font-size: 20px;
  }

  .sec-other-interview__name-en {
    font-size: 14px;
  }

  .sec-other-interview .slick-prev {
    left: 0;
  }

  .sec-other-interview .slick-next {
    right: 0;
  }
}

@media screen and (max-width: 992px) {
  .sec-interview-nameCol {
    width: 45%;
  }

  .sec-interview-nameCol:nth-of-type(n+2) {
    margin-left: 2em;
  }

  .sec-interview-nameCol:nth-of-type(n+3) {
    width: 100%;
    margin-left: 0;
  }

  .sec-interview-nameCol:nth-of-type(n+3):before,
  .sec-interview-nameCol:nth-of-type(n+3):after {
    content: none;
  }
}

@media only screen and (min-width: 500px) and (max-width: 992px) {
  .sec-interview-nameCol:nth-of-type(n+2):before,
  .sec-interview-nameCol:nth-of-type(n+2):after {
    left: -6%;
  }
}


@keyframes test01 {
  0% {
    opacity: 0;
    clip-path: inset(0 100% 0 0);
    visibility: hidden;
  }
  100% {
    opacity: 1;
    visibility: visible;
    clip-path: inset(0 0 0 0);
  }
}

@keyframes test02 {
  0% {
    opacity: 1;
    visibility: visible;
    clip-path: inset(0 0 0 0);
  }
  100% {
    opacity: 0;
    visibility: hidden;
    clip-path: inset(0 0 0 100%);
  }
}


@media screen and (min-width: 768px) {
  /*lnav-menu*/
  .lnav-menuWrapper {
    position: fixed;
    right: 0;
    top: 3em;
    max-width: 370px;
    padding: 3em 3em 0 0;
    opacity: 0;
    z-index: 1000;
  }

  .lnav-menuWrapper.is-close {
    z-index: -1 !important;
  }

  .lnav-menuWrapper.is-active {
    animation: 0.4s test01 cubic-bezier(0, 0, 0.2, 1) 1 forwards; /* アニメーション */
  }

  .lnav-menuWrapper.no-active {
    animation: 0.4s test02 cubic-bezier(0, 0, 0.2, 1) 1 forwards; /* アニメーション */
  }

  .lnav-menuWrapper .btn-link {
    border-radius: 0;
  }

  .lnav__inner {
    opacity: 0;
    position: relative;
    background: #ffffff;
    padding: 0 0 0 0;
  }

  .lnav-menu {
    padding: 1em 1em 0 1em;
  }

  .lnav-menu li {
    border-top: 1px dotted #cccccc;
  }

  .lnav-menu li:last-of-type {
    border-bottom: 1px dotted #cccccc;
  }

  .lnav-menu li a {
    position: relative;
    padding: 1em 1em 1em 0.5em;
    display: inline-block;
    width: 100%;
    font-size: 16px;
    line-height: 1.4;
  }

  .lnav-menu li a:before {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 4px 0 4px;
    border-color: #000000 transparent transparent transparent;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    margin-top: 1.4em;
  }

  .lnav-menu li.sub-menu a {
    position: relative;
  }

  .lnav-menu li.sub-menu span {
    padding: 1em 1em 0 0.5em;
    display: inline-block;
  }

  .lnav-menu li.sub-menu span a:before {
    content: none;
  }

  .lnav-menu li.sub-menu a:before {
    position: absolute;
    top: 50%;
    bottom: inherit;
    margin-top: 0;
    transform: translateY(-50%);
  }

  .lnav-menu li.sub-menu span a {
    padding-bottom: 0.5em;
  }

  .lnav-menu .lv2 {
    padding-bottom: 0.5em;
  }

  .lnav-menu .lv2 li {
    border-top: none;
  }

  .lnav-menu .lv2 li a {
    padding: 0 1em 0.3em 1.5em;
  }

  .lnav-menu .lv2 li:last-of-type {
    border-bottom: none;
  }

  .lnav-menu-bottom.close_btn {
    position: fixed;
    top: 3em;
    right: 3em;
    display: block;
    width: 73px;
    height: 73px;
    background: #000000;
    border-radius: 50px;
    cursor: pointer;
    margin-right: -2em;
    z-index: 1200;
    transition: 0.6s;
    opacity: 0;
  }

  .lnav-menu-bottom.close_btn.is-active,
  .lnav-menu-bottom.close_btn.is-active.is-close {
    opacity: 1;
  }

  .lnav-menu-bottom.close_btn__inner {
    width: 100%;
    position: relative;
    width: 45px;
    height: 45px;
  }

  .lnav-menu-bottom.close_btn span {
    display: block;
    position: absolute;
    z-index: 1;
    opacity: 0;
    transition: 0.3s;
    transition-delay: 0.1s;
  }

  .lnav-menu-bottom.close_btn span:nth-of-type(1),
  .lnav-menu-bottom.close_btn span:nth-of-type(2) {
    top: 45%;
    width: 25px;
    height: 1px;
    background-color: #ffffff;
  }

  .lnav-menu-bottom.close_btn span:nth-of-type(1) {
    transform: rotate(45deg);
  }

  .lnav-menu-bottom.close_btn span:nth-of-type(2) {
    transform: rotate(-45deg);
  }

  .lnav-menu-bottom.close_btn span:nth-of-type(3) {
    background: url(../images/btn_arrow02.svg) center center no-repeat;
    background-size: 100% auto;
    width: 35px;
    height: 35px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(0deg);
  }

  /*is-active*/
  .lnav-menu-bottom.close_btn.is-active span:nth-of-type(1),
  .lnav-menu-bottom.close_btn.is-active span:nth-of-type(2) {
    opacity: 1;
  }

  /*is-close*/
  .lnav-menu-bottom.close_btn.is-active.is-close span:nth-of-type(1),
  .lnav-menu-bottom.close_btn.is-active.is-close span:nth-of-type(2) {
    opacity: 0;
  }

  .lnav-menu-bottom.close_btn.is-active.is-close span:nth-of-type(3) {
    opacity: 1;
  }

  /*is-show*/
  .lnav-menuWrapper .lnav__inner.is-show {
    animation: 0.4s test01 cubic-bezier(0, 0, 0.2, 1) 1 forwards; /* アニメーション */
  }

  /*no-show*/
  .lnav-menuWrapper .lnav__inner.no-show {
    animation: 0.4s test02 cubic-bezier(0, 0, 0.2, 1) 1 forwards; /* アニメーション */
  }
}


/*tab*/
.tab_panel {
  overflow: hidden;
  height: 0;
  opacity: 0;
}

.tab_panel.active {
  overflow: visible;
  height: auto;
  opacity: 1;
  transition: opacity .4s ease-in-out;
}

.nav-tabs-wrapper {
  overflow: hidden;
  border-bottom: 1px solid #000000;
}

.tab__menu-link {
  width: 50%;
  padding: 0.8em 0;
  font-size: 14px;
  line-height: 1;
  font-weight: bold;
  cursor: pointer;
  background: #eeeeee;
  border-top: 5px solid #ffffff;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  transition: 0.3s;
  display: flex;
  justify-content: center;
  align-items: center;
}

.tab__menu-link.active {
  color: #ffffff;
  background: #000000;
}

.tab-content {
  border-left: 1px solid #000000;
  border-right: 1px solid #000000;
  border-bottom: 1px solid #000000;
  height: 350px;
  overflow-y: auto;
  padding: 1em;
}

.recruit-tbl dt {
  width: 35%;
}

.recruit-tbl dt:not(:nth-of-type(1)) {
  margin-top: 1.4em;
}

.recruit-tbl dd {
  width: 65%;
}

.recruit-tbl dd:not(:nth-of-type(1)) {
  margin-top: 1.4em;
}

@media screen and (min-width: 768px) {
  .nav-tabs-wrapper {
    overflow: hidden;
    overflow-x: auto;
  }

  .tab__menu-link {
    width: calc(100% / 5);
    background: #eeeeee;
    border-top: 5px solid #ffffff;
    border-left: 5px solid #ffffff;
    font-size: 16px;
  }

  .tab__menu-link:nth-child(1),
  .tab__menu-link:nth-child(6),
  .tab__menu-link:nth-child(11) {
    border-left: none;
  }

  .tab-content {
    height: 430px;
    padding: 2em;
  }

  .recruit-tbl dt {
    width: 20%;
  }

  .recruit-tbl dt:not(:nth-of-type(1)) {
    margin-top: 1.4em;
  }

  .recruit-tbl dd {
    width: 80%;
  }

  .recruit-tbl dd:not(:nth-of-type(1)) {
    margin-top: 1.4em;
  }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .tab__menu-link {
    width: calc(100% / 3);
  }

  .tab__menu-link:nth-child(1),
  .tab__menu-link:nth-child(4),
  .tab__menu-link:nth-child(7),
  .tab__menu-link:nth-child(10) {
    border-left: none;
  }

  .recruit-tbl dt {
    width: 30%;
  }

  .recruit-tbl dd {
    width: 70%;
  }
}

@media screen and (max-width: 767px) {
  .tab__menu-link:nth-child(2n) {
    border-left: 5px solid #ffffff;
  }
}

/* ------------------------------
   accordion-link
------------------------------ */

.accordion-link {
  cursor: pointer;
  position: relative;
}

.icon-wrap {
  width: 48px;
  height: 48px;
  padding: 0 !important;
  border-top: none;
  display: inline-block;
}

.icon {
  position: relative;
  display: inline-block;
  width: 100%;
  height: 100%;
}

.icon:before,
.icon:after {
  position: absolute;
  content: "";
  display: block;
  transition: all .4s cubic-bezier(.215, .61, .355, 1);
  background: #000000;
  right: 0;
  top: 50%;
  width: 16px;
  height: 1px;
  transform: translateY(-50%);
}

.icon:before {
  transform: translateY(-50%) rotate(90deg) scaleY(1);
}

.accordion-link.open .icon:before {
  transform: translateY(-50%) rotate(90deg) scaleY(0);
}

/*----------------------------------------
	member-modal
-----------------------------------------*/

/*member-modal */
.member-modal {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -44%);
  width: 100%;
  height: 100%;
  z-index: 14000;
  padding: 5% 0;
  transition: 0.3s;
  transition-delay: 0.1s;
  opacity: 0;
}

.member-modal.is-active {
  transform: translate(-50%, -50%);
  opacity: 1;
}

.member-modal__outer {
  background: #ffffff;
  position: relative;
  padding: 5% 8%;
  width: 100%;
  height: 100%;
  overflow-y: auto;
  -ms-overflow-style: none; /* IE, Edge 対応 */
  scrollbar-width: none;
  -webkit-overflow-scrolling: auto;
  margin: 0 auto;
}

.member-modal__inner {
  width: 100%;
  height: 100%;
  font-size: 16px;
}

.member-modal__ttl {
  font-size: 18px;
  padding-bottom: 0.3em;
}

.member-modal__col__outer {
  padding-bottom: 2em;
}

.member-modal-wrapper {
  display: none;
}

.member-modal-wrapper.is-active {
  display: block;
}

.member-modal__col {
  position: relative;
}

.member-modal__col__pic {
  position: relative;
  width: 70%;
  margin: 0 auto;
  clip-path: polygon(60% 0, 100% 0, 100% 80%, 40% 100%, 0 100%, 0 20%);
}

.member-modal__col__position-ttl {
  font-size: 16px;
  background: #000000;
  color: #ffffff;
  display: inline-block;
  padding: 0.05em 0.2em;
  margin-bottom: 0.3em;
  min-width: 25%;
  text-align: center;
}

.member-modal__col__name img {
  max-width: 100%;
  width: inherit;
}

.member-modal__col__name-en {
  font-size: 24px;
}

.modal-bg {
  position: fixed;
  top: 0;
  left: 0;
  display: none;
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.8);
  z-index: 12000;
}

@media screen and (min-width: 768px) {
  /*.member-modal */
  .member-modal {
    padding: 10% 0;
    max-width: 1200px;
  }

  .member-modal__col__left {
    width: 35%;
  }

  .member-modal__col__right {
    width: 65%;
    padding-left: 8%;
  }

  .member-modal__col__pic {
    width: 100%;
  }

  .member-modal__col__name-en {
    position: relative;
    font-size: 45px;
    margin-left: -2.5em;
    line-height: 1.2;
  }
}

/*icon-close*/
.icon-close {
  position: relative;
}

.icon-close__inner {
  position: absolute;
  top: 0;
  right: 1.2em;
  width: 40px;
  height: 40px;
  cursor: pointer;
  z-index: 15000;
  margin-top: 2em;
}

.icon-close__inner span {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  text-decoration: none;
  width: 40px;
  height: 1px;
  background-color: #000000;
}

.icon-close__inner span:nth-of-type(1) {
  left: 0;
  transform: rotate(45deg);
}

.icon-close__inner span:nth-of-type(2) {
  left: 0;
  transform: rotate(-45deg);
}

@media screen and (min-width: 993px) {
  /*icon-close*/
  .icon-close__inner {
    width: 40px;
    height: 40px;
  }

  .icon-close__inner span {
    width: 40px;
    height: 1px;
  }
}


/*----------------------------------------
	pageTop
-----------------------------------------*/

#pageTop {
  position: fixed;
  right: 20px;
  bottom: 75px;
  display: none;
  z-index: 500;
}

#pageTop.keep {
  position: absolute;
  right: 20px;
  top: -25px;
  z-index: 1500;
}

#pageTop a {
  position: relative;
  background: #ffffff;
  border: 1px solid #000000;
  width: 50px;
  height: 50px;
  display: block;
  border-radius: 50px;
  cursor: pointer;
}

#pageTop a:after {
  content: " ";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 4px;
  height: 32px;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-image: url(../images/pagetop_arrow.svg);
}

@media screen and (min-width: 768px) {
  #pageTop {
    right: 60px;
    bottom: 80px;
  }

  #pageTop.keep {
    right: 60px;
    top: -40px;
  }

  #pageTop a {
    width: 85px;
    height: 85px;
  }

  #pageTop a:after {
    width: 7px;
    height: 48px;
  }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  #pageTop {
    right: 40px;
  }

  #pageTop.keep {
    right: 40px;
  }

  #pageTop a {
    width: 64px;
    height: 64px;
  }

  #pageTop a:after {
    width: 5px;
    height: 40px;
  }
}


/*----------------------------------------
	loading
-----------------------------------------*/

@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    display: none;
    opacity: 0;
    z-index: -100;
  }
}

/*----------------------------------------
	animation
-----------------------------------------*/

/*updown*/
.updown {
  overflow: hidden;
}

.updown span {
  transform: translateY(110%);
  display: inline-block;
}

.fade.fade_in .updown span {
  animation: 2.5s updown-anim cubic-bezier(0, 0, 0.2, 1) 1 forwards; /* アニメーション */
}

/*** 各span(文字)に遅延時間delayを設定 ***/
.fade.fade_in .updown span:nth-child(1) {
  animation-delay: 0s;
}

.fade.fade_in .updown span:nth-child(2) {
  animation-delay: 0.04s;
}

.fade.fade_in .updown span:nth-child(3) {
  animation-delay: 0.08s;
}

.fade.fade_in .updown span:nth-child(4) {
  animation-delay: 0.12s;
}

.fade.fade_in .updown span:nth-child(5) {
  animation-delay: 0.16s;
}

.fade.fade_in .updown span:nth-child(6) {
  animation-delay: 0.2s;
}

.fade.fade_in .updown span:nth-child(7) {
  animation-delay: 0.24s;
}

.fade.fade_in .updown span:nth-child(8) {
  animation-delay: 0.28s;
}

.fade.fade_in .updown span:nth-child(9) {
  animation-delay: 0.32s;
}

.fade.fade_in .updown span:nth-child(10) {
  animation-delay: 0.36s;
}

.fade.fade_in .updown span:nth-child(11) {
  animation-delay: 0.4s;
}

.fade.fade_in .updown span:nth-child(12) {
  animation-delay: 0.44s;
}


@media screen and (min-width: 768px) {
  /*updown_vt_pc*/
  .updown_vt_pc {
    overflow: hidden;
  }

  .updown_vt_pc span {
    transform: translateX(-110%);
    display: inline-block;
  }

  .fade.fade_in .updown_vt_pc span {
    animation: 2.5s updown_vt-anim cubic-bezier(0, 0, 0.2, 1) 1 forwards; /* アニメーション */
  }
}


/*** 各span(文字)に遅延時間delayを設定 ***/
.fade.fade_in .updown_vt_pc span:nth-child(1) {
  animation-delay: 0s;
}

.fade.fade_in .updown_vt_pc span:nth-child(2) {
  animation-delay: 0.04s;
}

.fade.fade_in .updown_vt_pc span:nth-child(3) {
  animation-delay: 0.08s;
}

.fade.fade_in .updown_vt_pc span:nth-child(4) {
  animation-delay: 0.12s;
}

.fade.fade_in .updown_vt_pc span:nth-child(5) {
  animation-delay: 0.16s;
}

.fade.fade_in .updown_vt_pc span:nth-child(6) {
  animation-delay: 0.2s;
}

.fade.fade_in .updown_vt_pc span:nth-child(7) {
  animation-delay: 0.24s;
}

.fade.fade_in .updown_vt_pc span:nth-child(8) {
  animation-delay: 0.28s;
}

.fade.fade_in .updown_vt_pc span:nth-child(9) {
  animation-delay: 0.32s;
}

.fade.fade_in .updown_vt_pc span:nth-child(10) {
  animation-delay: 0.36s;
}

.fade.fade_in .updown_vt_pc span:nth-child(11) {
  animation-delay: 0.4s;
}

.fade.fade_in .updown_vt_pc span:nth-child(12) {
  animation-delay: 0.44s;
}

/*sec-company*/
.sec-company01 .fade.fade_in .updown span:nth-child(1) {
  animation-delay: 0.8s;
}

.sec-company01 .fade.fade_in .updown span:nth-child(2) {
  animation-delay: 0.84s;
}

.sec-company01 .fade.fade_in .updown span:nth-child(3) {
  animation-delay: 0.88s;
}

.sec-company01 .fade.fade_in .updown span:nth-child(4) {
  animation-delay: 0.92s;
}

.sec-company01 .fade.fade_in .updown span:nth-child(5) {
  animation-delay: 0.96s;
}

.sec-company01 .fade.fade_in .updown span:nth-child(6) {
  animation-delay: 1s;
}

.sec-company01 .fade.fade_in .updown span:nth-child(7) {
  animation-delay: 1.04s;
}

.sec-company01 .fade.fade_in .updown span:nth-child(8) {
  animation-delay: 1.08s;
}

.sec-company01 .fade.fade_in .updown span:nth-child(9) {
  animation-delay: 1.12s;
}

.sec-company01 .fade.fade_in .updown span:nth-child(10) {
  animation-delay: 1.16s;
}

.sec-company01 .fade.fade_in .updown span:nth-child(11) {
  animation-delay: 1.2s;
}

.sec-company01 .fade.fade_in .updown span:nth-child(12) {
  animation-delay: 1.24s;
}

.sec-company01 .fade.fade_in .updown span:nth-child(13) {
  animation-delay: 1.28s;
}

.sec-company01 .fade.fade_in .updown span:nth-child(14) {
  animation-delay: 1.32s;
}

.sec-company01 .fade.fade_in .updown span:nth-child(15) {
  animation-delay: 1.36s;
}

.sec-company01 .fade.fade_in .updown span:nth-child(16) {
  animation-delay: 1.36s;
}


/*fade_slide*/
.fade .fade_slide {
  clip-path: inset(0 100% 0 0);
  transition: clip-path .5s 0.4s;
}

.fade.fade_in .fade_slide {
  clip-path: inset(0 0 0 0);
}

/*fade_slide_right*/
.fade .fade_slide_right {
  clip-path: inset(0 0 0 100%);
  transition: clip-path .5s 0.4s;
}

.fade.fade_in .fade_slide_right {
  clip-path: inset(0 0 0 0);
}

/*fade_slide .text_slide*/
.fade .fade_slide .text_slide {
  transform: translateX(3rem);
  display: inline-block;
  opacity: 0;
}

.fade.fade_in .fade_slide .text_slide {
  transform: translateX(0);
  display: inline-block;
  opacity: 1;
  transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.6s;
}


/*fade_slide02*/
.fade .fade_slide02 {
  clip-path: inset(-5px 100% -5px 0);
  opacity: 0;
  transition: clip-path .5s 0.4s;
}

.fade.fade_in .fade_slide02 {
  opacity: 1;
  clip-path: inset(-5px 0 -5px 0);
}

/*fade_opacity*/
.fade .fade_opacity {
  opacity: 0;
  transition: opacity .4s 0.4s;
}

.fade.fade_in .fade_opacity {
  opacity: 1;
}

/*fade_big-small*/
.fade .fade_big-small {
  opacity: 0;
  transform: scale(1.2);
  transition: all .4s 0.4s;
}

.fade.fade_in .fade_big-small {
  opacity: 1;
  transform: scale(1);
}

/*fade_big-small02*/
.fade .fade_big-small02 {
  opacity: 0;
  transform: scale(1.06);
  transition: all .4s 0.4s;
}

.fade.fade_in .fade_big-small02 {
  opacity: 1;
  transform: scale(1);
}

/*fade_slide_kv*/
.fade .fade_slide_kv {
  clip-path: inset(100% 0 0 0);
  transition: clip-path .5s 0.4s;
}

.fade.fade_in .fade_slide_kv {
  clip-path: inset(0 0 0 0);
}


@keyframes anime {
  0% {
    transform: rotateY(0) rotateX(0);
  }
  100% {
    transform: rotateY(0) rotateX(180deg);
  }
}

@keyframes anime_back {
  0% {
    transform: rotateY(0) rotateX(180deg);
  }
  100% {
    transform: rotateY(0) rotateX(0);
  }
}

@keyframes railUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
  }

  to {
    -webkit-transform: translate3d(0, -50%, 0);
    transform: translate3d(0, -50%, 0)
  }
}

@keyframes loop {
  0% {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
  }
  to {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}

@keyframes loop2 {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-200%);
    transform: translateX(-200%);
  }
}

@keyframes updown-anim {
  0% {
    transform: translateY(110%); /*表示範囲外から*/
  }
  10% {
    transform: translateY(0); /*通常の位置へ*/
  }
  100% {
    transform: translateY(0); /*通常の位置へ*/
  }
}

@keyframes updown_vt-anim {
  0% {
    transform: translateX(-110%); /*表示範囲外から*/
  }
  10% {
    transform: translateX(0); /*通常の位置へ*/
  }
  100% {
    transform: translateX(0); /*通常の位置へ*/
  }
}

@keyframes menuBar {
  0% {
    width: 24px;
    left: 0;
    transform: translateY(-6px) rotate(-25deg);
  }
  60% {
    width: 24px;
    left: 0;
    transform: translateY(0) rotate(-25deg);
  }
  79% {
    width: 0;
    left: 12px;
    transform: translateY(0) rotate(-25deg);
  }
  80% {
    width: 0;
    left: 12px;
    transform: rotate(45deg);
  }
  to {
    width: 24px;
    left: 0;
    transform: rotate(45deg);
  }
}

@keyframes menuBarOut {
  0% {
    transform: rotate(45deg);
  }
  50% {
    transform: translateY(0) rotate(-25deg);
  }
  to {
    transform: translateY(-6px) rotate(-25deg);
  }
}

@keyframes menuBar2 {
  0% {
    left: 0;
    width: 24px;
  }
  60% {
    left: 0;
    width: 24px;
  }
  79% {
    left: 12px;
    width: 0;
  }
  80% {
    left: 12px;
    width: 0;
  }
  to {
    left: 12px;
    width: 0;
  }
}

@keyframes menuBar2Out {
  0% {
    width: 0;
  }
  49% {
    width: 24px;
  }
  50% {
    width: 24px;
  }
  to {
    width: 24px;
  }
}

@keyframes menuBar3 {
  0% {
    left: 0;
    width: 24px;
    transform: translateY(6px) rotate(-25deg);
  }
  60% {
    left: 0;
    width: 24px;
    transform: translateY(0) rotate(-25deg);
  }
  79% {
    left: 12px;
    width: 0;
    transform: translateY(0) rotate(-25deg);
  }
  80% {
    left: 12px;
    width: 0;
    transform: rotate(-45deg);
  }
  to {
    left: 0;
    width: 18px;
    transform: rotate(-45deg);
  }
}

@keyframes menuBar3Out {
  0% {
    transform: rotate(-45deg);
  }
  50% {
    transform: translateY(0) rotate(-25deg);
  }
  to {
    transform: translateY(6px) rotate(-25deg);
  }
}

/*PC用*/
@keyframes slide_ttl_line01 {
  0% {
    transform: translateX(-50%) rotate(-25deg) scale(1, 1);
    margin-top: -2em;
    opacity: 0;
  }
  50% {
    transform: translateX(-50%) rotate(-25deg) scale(1, 1);
    margin-top: -1.5em;
    opacity: 0;
  }
  100% {
    transform: translateX(-50%) rotate(-25deg) scale(1, 1);
    margin-top: -2em;
    opacity: 1;
  }
}

/*PC用*/
@keyframes slide_ttl-lv2_line01 {
  0% {
    transform: translateX(-50%) rotate(-25deg) scale(1, 1);
    margin-top: -2em;
    opacity: 0;
  }
  50% {
    transform: translateX(-50%) rotate(-25deg) scale(1, 1);
    margin-top: -1.5em;
    opacity: 0;
  }
  100% {
    transform: translateX(-50%) rotate(-25deg) scale(1, 1);
    margin-top: -2em;
    opacity: 1;
  }
}

@keyframes slide_ttl_line02 {
  0% {
    transform: translateX(-50%) rotate(-25deg) scale(1, 1);
    margin-top: -2em;
    opacity: 0;
  }
  50% {
    transform: translateX(-50%) rotate(-25deg) scale(1, 1);
    margin-top: -1.5em;
    opacity: 0;
  }
  100% {
    transform: translateX(-50%) rotate(-25deg) scale(1, 1);
    margin-top: -1em;
    opacity: 1;
  }
}

/*SP用*/
@keyframes slide_ttl_line01_sp {
  0% {
    transform: translateX(-50%) rotate(-25deg) scale(1, 1);
    margin-top: -1.5em;
    opacity: 0;
  }
  50% {
    transform: translateX(-50%) rotate(-25deg) scale(1, 1);
    margin-top: -1.25em;
    opacity: 0;
  }
  100% {
    transform: translateX(-50%) rotate(-25deg) scale(1, 1);
    margin-top: -1.5em;
    opacity: 1;
  }
}

@keyframes slide_ttl_line02_sp {
  0% {
    transform: translateX(-50%) rotate(-25deg) scale(1, 1);
    margin-top: -1.5em;
    opacity: 0;
  }
  50% {
    transform: translateX(-50%) rotate(-25deg) scale(1, 1);
    margin-top: -1.25em;
    opacity: 0;
  }
  100% {
    transform: translateX(-50%) rotate(-25deg) scale(1, 1);
    margin-top: -1em;
    opacity: 1;
  }
}

@keyframes slide_ttl-lv2_line01_sp {
  0% {
    transform: translateX(-50%) rotate(-25deg) scale(1, 1);
    margin-top: -0.7em;
    opacity: 0;
  }
  50% {
    transform: translateX(-50%) rotate(-25deg) scale(1, 1);
    margin-top: -0.35em;
    opacity: 0;
  }
  100% {
    transform: translateX(-50%) rotate(-25deg) scale(1, 1);
    margin-top: -0.7em;
    opacity: 1;
  }
}

ol.list_parentheses {
  padding: 0 0 0 1em;
  margin: 10px 0;
}

ol.list_parentheses li {
  list-style-type: none;
  list-style-position: inside;
  counter-increment: cnt;
  padding-left: 1em;
  text-indent: -1.5em;
  padding-bottom: 5px;
}

ol.list_parentheses li:before {
  display: marker;
  content: "(" counter(cnt) ") ";
}

ol.decimal {
  padding-left: 1.5em;
}

ol.decimal > li {
  list-style-type: decimal;
  padding-bottom: 8px;
}

/* sidebar */
.sidebar_menu_wrap h4 {
  background-color: #003366;
  padding: 10px;
  color: #ffffff;
  margin-bottom: 10px;
  line-height: 2;
}

.sidebar_menu_wrap .side-result-box li {
  padding: 0.5em 0;
  border-bottom: 1px solid #cccccc;
}

.sidebar_menu_wrap .side-result-box li a {
  display: block;
}

@media screen and (max-width: 767px) {
  .d-pc {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .d-sp {
    display: none;
  }
}

/* 旧サイト引継ぎ */
.searchform {
  margin: 4em 0 1em;
  text-align: center;
}

.searchform input, .searchform [type=submit] {
  border: 1px solid #333333;
  font-size: 18px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  padding: 3px;
  width: 500px;
  max-width: 100%;
  line-height: 2;
}

.searchform [type=submit] {
  padding: 3px .5em;
  color: #17161a;
  -webkit-transition: 0.2s;
  -moz-transition: 0.2s;
  transition: 0.2s;
  width: 60px;
}

.searchform [type=submit]:hover {
  color: #000;
}

@media screen and (max-width: 767px) {
  .searchform input {
    width: 270px;
  }
}

.ec-box {
  border-radius: 10px;
  padding: 50px 20px;
  margin-top: 1em;
  background-color: #ece7ff;
  text-align: center;
}

/* tooltip */
span.el-tooltip {
  background-color: #3c0def;
  border-radius: 3px;
  position: absolute;
  color: #fff;
  font-size: 10px;
  padding: 0 5px 2px;
}

span.el-tooltip.dev-prj-tooltip {
  background-color: #ef600d;
  position: relative;
  display: inline-block;
  margin-right: 4px;
  margin-bottom: 2px;
  font-size: 13px;
}

.syntax-custom.syntaxhighlighter code {
  font-size: 0.9em !important;
}

.sec-projects__inner__txt .syntaxhighlighter a {
  text-decoration: none;
  pointer-events: none;
}
