@charset "UTF-8";
/* ::::::::::  トップページ  :::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
/* =========================================================

========================================================= */
.contents {
  padding-top: 0;
}

section {
  position: relative;
}

.topBg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: auto;
  z-index: -1;
}

.topTitle {
  position: relative;
  padding: 20px 20px 0;
  font-size: 2.56rem;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: 0;
  z-index: 1;
}
@media (max-width: 767px) {
  .topTitle {
    padding: 15px 20px 0;
    font-size: 1.8rem;
  }
}
.topTitle::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 464px;
  max-width: 100%;
  height: 118px;
  background: #de2c2b;
  background: -moz-linear-gradient(left, #de2c2b 0%, #a82881 100%);
  background: -webkit-linear-gradient(left, #de2c2b 0%, #a82881 100%);
  background: linear-gradient(to right, #de2c2b 0%, #a82881 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#de2c2b', endColorstr='#a82881',GradientType=1 );
  z-index: -1;
}
@media (max-width: 767px) {
  .topTitle::before {
    width: 60%;
    height: 60px;
  }
}
.topTitle .text_en {
  display: block;
  color: transparent;
  margin-top: 20px;
  margin-bottom: 20px;
  font-size: 196px;
  font-weight: 900;
  line-height: 160px;
  text-stroke: 1px rgba(255, 255, 255, 0.6);
  -webkit-text-stroke: 1px rgba(255, 255, 255, 0.6);
}
@media (max-width: 767px) {
  .topTitle .text_en {
    margin-top: 5px;
    margin-bottom: 0;
    font-size: 58px;
    line-height: 52px;
  }
}
.topTitle .text_en .bgextend::before {
  height: 65%;
  animation-duration: 1.2s;
  animation-delay: .4s;
}
.topTitle.right {
  text-align: right;
}
.topTitle.right::before {
  left: auto;
  right: 0;
}

.topTitle02 {
  margin: 0 0 12px;
  font-size: 4rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .topTitle02 {
    margin-bottom: 16px;
    font-size: 2.6rem;
    letter-spacing: 1px;
    line-height: 1.5;
  }
}

.topLead {
  padding-top: 20px;
  padding-bottom: 60px;
}
@media (max-width: 767px) {
  .topLead {
    padding-bottom: 40px;
  }
}

.kv {
  position: relative;
  width: 100%;
  height: 100vh;
  background: #000;
}
@media (max-width: 767px) {
  .kv {
    height: auto;
  }
}
.kv .loading {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  background: #1d1d1d;
  z-index: 3;
}
.kv .movieArea {
  position: relative;
  width: 100%;
  height: 100vh;
  min-height: 480px;
  overflow: hidden;
}
@media (max-width: 767px) {
  .kv .movieArea {
    height: -webkit-fill-available;
    margin-top: 54px;
  }
}
@media (max-width: 568px) {
  .kv .movieArea {
    margin-top: -48px;
  }
}
.kv .movieArea::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: transparent;
  z-index: 1;
}
.kv .movieArea::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 35%;
  background: -moz-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.58) 100%);
  background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.58) 100%);
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.58) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#94000000',GradientType=0 );
  z-index: 2;
}
.kv #player {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 177.77777778vh;
  height: 56.25vw;
  min-height: 100%;
  min-width: 100%;
  opacity: 0;
}
.kv #player.appear {
  animation-name: PageAnimeAppear;
  animation-duration: .5s;
  animation-fill-mode: forwards;
}
.kv .volumeBtn {
  position: absolute;
  left: 10px;
  bottom: 82px;
  cursor: pointer;
  z-index: 5;
}
@media (max-width: 767px) {
  .kv .volumeBtn {
    bottom: 12px;
  }
}
.kv .volumeBtn.noNews {
  bottom: 12px;
}
@media (max-width: 767px) {
  .kv .volumeBtn.noNews {
    bottom: 12px;
  }
}
.kv .volumeBtn.volumeOn .on {
  display: none;
}
.kv .volumeBtn.volumeOn .off {
  display: block;
}
.kv .volumeBtn .on {
  display: block;
}
.kv .volumeBtn .off {
  display: none;
}
.kv .kvScroll {
  position: absolute;
  left: 23px;
  bottom: 130px;
  display: block;
  letter-spacing: 0;
  line-height: 1;
  z-index: 5;
}
@media (max-width: 767px) {
  .kv .kvScroll {
    bottom: 57px;
  }
}
.kv .kvScroll.noNews {
  bottom: 60px;
}
@media (max-width: 767px) {
  .kv .kvScroll.noNews {
    bottom: 57px;
  }
}
.kv .kvScroll .text {
  display: inline-block;
  font-size: 10px;
  font-weight: 500;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  vertical-align: middle;
}
.kv .kvScroll .bar {
  position: relative;
  left: -2px;
  display: block;
  width: 1px;
  height: 42px;
  margin: 10px auto 0;
  background: rgba(255, 255, 255, 0.5);
  overflow: hidden;
}
@media (max-width: 767px) {
  .kv .kvScroll .bar {
    left: 3px;
  }
}
.kv .kvScroll .bar::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: -10px;
  width: 1px;
  height: 10px;
  background: #fff;
  animation: barAnime 2.4s ease-in-out infinite;
}
.kv .kvNews {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  background: #ececec;
  color: #1d1d1d;
  z-index: 6;
}
@media (max-width: 767px) {
  .kv .kvNews {
    position: relative;
  }
}
.kv .kvNews a {
  padding-right: 30px;
  color: #1d1d1d;
}
@media (min-width: 768px) {
  .kv .kvNews a:hover {
    color: #de2c2b;
  }
}
@media (max-width: 767px) {
  .kv .kvNews a {
    padding-right: 40px;
  }
}
.kv .kvNews .wrapper {
  padding-top: 22px;
  padding-bottom: 22px;
}
.kv .kvNews .newsTitle {
  width: 160px;
  padding-top: 2px;
  color: #de2c2b;
  font-weight: bold;
}
@media (max-width: 767px) {
  .kv .kvNews .newsTitle {
    width: 100%;
    padding-top: 0;
  }
}
.kv .kvNews .newsLink {
  position: relative;
  display: block;
  width: calc(100% - 160px);
}
@media (max-width: 767px) {
  .kv .kvNews .newsLink {
    width: 100%;
  }
}
.kv .kvNews .newsLink[target="_blank"]::after {
  background: url(../img/common/icon_external_b.svg) no-repeat;
  background-size: 100% 100%;
}
.kv .kvNews .newsLink[href$=".xls"]::after, .kv .kvNews .newsLink[href$=".xlsx"]::after {
  top: auto;
  color: #1d1d1d;
}
.kv .kvNews .newsLink[href$=".pdf"]::after {
  top: auto;
  color: #1d1d1d;
}
.kv .kvNews .newsLink p {
  display: inline-block;
  max-width: calc(100% - 4em);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: middle;
}
@media (max-width: 767px) {
  .kv .kvNews .newsLink p {
    display: inline;
    width: 100%;
    max-width: 100%;
    white-space: normal;
    overflow: visible;
  }
}
.kv .kvNews .newsLink .arrow {
  position: absolute;
  right: 0;
  top: 50%;
  margin-top: -4px;
}
.kv .kvNews .newsLink .arrow::before {
  border-bottom-color: #1d1d1d;
}
.kv .kvNews .newsLink .arrow::after {
  border-top-color: #1d1d1d;
  border-right-color: #1d1d1d;
}

@keyframes PageAnimeAppear {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes barAnime {
  0% {
    top: -10px;
  }
  70% {
    top: 85%;
  }
  99% {
    top: 85%;
  }
  100% {
    top: 100%;
  }
}
.kvBnr {
  position: fixed;
  right: 20px;
  bottom: 90px;
  line-height: 1;
  z-index: 100;
}
.kvBnr a {
  display: inline-block;
  border-radius: 8px;
  box-shadow: 0 0 15px rgba(255, 255, 255, 0.5);
  overflow: hidden;
}
@media (min-width: 768px) {
  .kvBnr a:hover {
    filter: brightness(120%);
  }
}
.kvBnr .closeBtn {
  position: absolute;
  right: -15px;
  top: -15px;
  width: 31px;
  height: 31px;
  border-radius: 50%;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.5);
  cursor: pointer;
}

.bnrSlideWrap {
  padding-top: 64px;
}
@media (max-width: 767px) {
  .bnrSlideWrap {
    padding-top: 35px;
  }
}
.bnrSlide > .slideItem {
  display: none;
}
.bnrSlide .slideItem {
  padding: 15px 11px;
}
@media (max-width: 767px) {
  .bnrSlide .slideItem {
    padding: 15px 9px;
  }
}
@media (min-width: 768px) {
  .bnrSlide a:hover {
    filter: brightness(120%);
  }
}
.bnrSlide a img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 6px;
  box-shadow: 0 0 15px rgba(255, 255, 255, 0.3);
}
.bnrSlideArrow {
  display: flex;
  align-items: center;
  margin-top: 20px;
  justify-content: center;
  line-height: 1;
  text-align: center;
}
@media (max-width: 767px) {
  .bnrSlideArrow {
    margin-top: 5px;
    font-size: 1.6rem;
  }
}
.bnrSlideArrow .arrow {
  margin-top: 6px;
  height: 16px;
  cursor: pointer;
}
.bnrSlideArrow .arrow.prev {
  transform: scale(-1, 1);
}
.bnrSlideArrow .arrow.next {
  order: 10;
}
.bnrSlideArrow .slick-counter {
  padding: 0 20px;
  vertical-align: middle;
}
.bnrSlideArrow .slick-counter span {
  padding: 0 3px;
  font-weight: bold;
}

.news .wrapper {
  padding-top: 90px;
  padding-bottom: 0;
}
@media (max-width: 767px) {
  .news .wrapper {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}
.news .newsTitle {
  margin-bottom: 40px;
  font-size: 2.7rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
}
@media (max-width: 767px) {
  .news .newsTitle {
    margin-bottom: 30px;
  }
}
.news .newsTitle > span {
  position: relative;
  display: inline-block;
  padding: 0 15px 5px;
  font-weight: 900;
}
.news .newsTitle > span::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 3px;
  background: #6524ea;
  background: -moz-linear-gradient(left, #6524ea 0%, #de2c2b 100%);
  background: -webkit-linear-gradient(left, #6524ea 0%, #de2c2b 100%);
  background: linear-gradient(to right, #6524ea 0%, #de2c2b 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='$sub_color', endColorstr='$main_color', GradientType=1);
}
.news .tabBtn {
  margin-bottom: 30px;
  color: #1d1d1d;
  justify-content: center;
}
@media (max-width: 767px) {
  .news .tabBtn {
    margin-bottom: 20px;
    font-size: 1.6rem;
  }
}
.news .tab {
  display: none;
}
.news .tab.active {
  display: block;
}
.news .newsList {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.news .newsList .listItem {
  position: relative;
  width: 48.6%;
  margin-bottom: 10px;
  border-bottom: 1px solid #4d4d4d;
}
@media (min-width: 768px) {
  .news .newsList .listItem:hover::after {
    width: 100%;
  }
}
@media (max-width: 1024px) {
  .news .newsList .listItem {
    width: 100%;
    margin-bottom: 8px;
  }
}
.news .newsList .listItem::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 0;
  height: 0;
  border-bottom: 1px solid #a5a5a5;
  transition: width .3s ease-out;
}
.news .newsList .listItem a {
  position: relative;
  display: flex;
  justify-content: space-between;
  width: 100%;
  height: 100%;
  padding: 25px 30px 25px 0;
}
@media (max-width: 1024px) {
  .news .newsList .listItem a {
    padding: 18px 0 20px 0;
    text-decoration: underline;
  }
}
.news .newsList .listItem a[target="_blank"]::after {
  content: none;
}
.news .newsList .listItem a[href$=".xls"]::after, .news .newsList .listItem a[href$=".xlsx"]::after {
  content: none;
}
.news .newsList .listItem a[href$=".pdf"]::after {
  content: none;
}
.news .newsList .listItem a[target="_blank"] .title::after {
  content: "";
  position: relative;
  top: -2px;
  display: inline-block;
  width: 18px;
  height: 17px;
  margin-left: 7px;
  background: url(../img/common/icon_external.svg) no-repeat;
  background-size: 100% 100%;
  border: none;
  line-height: 1.2;
  vertical-align: middle;
}
.news .newsList .listItem a[href$=".xls"] .title::after, .news .newsList .listItem a[href$=".xlsx"] .title::after {
  content: "EXCEL";
  position: relative;
  top: -2px;
  display: inline-block;
  width: auto;
  height: auto;
  margin-left: 7px;
  padding: 1px 5px 2px;
  background: none;
  border: 1px solid;
  color: #fff;
  font-size: 10px;
  font-weight: 400;
  line-height: 1.2;
  vertical-align: middle;
}
.news .newsList .listItem a[href$=".pdf"] .title::after {
  content: "PDF";
  position: relative;
  top: -2px;
  display: inline-block;
  width: auto;
  height: auto;
  margin-left: 7px;
  padding: 1px 5px 2px;
  background: none;
  border: 1px solid;
  color: #fff;
  font-size: 10px;
  font-weight: 400;
  line-height: 1.2;
  vertical-align: middle;
}
.news .newsList .listItem .photo {
  position: relative;
  width: 129px;
  height: 80px;
  overflow: hidden;
}
@media (max-width: 767px) {
  .news .newsList .listItem .photo {
    display: none;
  }
}
.news .newsList .listItem .photo img {
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  min-width: 100%;
  min-height: 100%;
  height: auto;
  transform: translate(-50%, -50%);
  object-fit: cover;
}
.news .newsList .listItem .textArea {
  width: 71.4%;
  max-width: calc(100% - 160px);
}
@media (max-width: 767px) {
  .news .newsList .listItem .textArea {
    width: 100%;
    max-width: 100%;
    padding-left: 0;
  }
}
.news .newsList .listItem .textArea .info {
  margin-top: -3px;
  margin-bottom: 10px;
  color: #808080;
  line-height: 1.2;
}
@media (max-width: 767px) {
  .news .newsList .listItem .textArea .info {
    margin-bottom: 15px;
  }
}
.news .newsList .listItem .textArea time {
  display: inline-block;
  margin-right: 15px;
  font-weight: bold;
  letter-spacing: 0.06em;
  vertical-align: middle;
}
@media (max-width: 767px) {
  .news .newsList .listItem .textArea time {
    margin-right: 12px;
    font-size: 1.6rem;
  }
}
.news .newsList .listItem .textArea time:after {
  content: "";
  margin-left: 20px;
  display: inline-block;
  width: 0;
  height: 0.825em;
  border-left: 1px solid #808080;
  font-size: 1.4rem;
}
@media (max-width: 767px) {
  .news .newsList .listItem .textArea time:after {
    margin-left: 12px;
  }
}
.news .newsList .listItem .textArea .cat {
  display: inline-block;
  font-size: 1.4rem;
  letter-spacing: 0.03em;
  vertical-align: middle;
}
.news .newsList .listItem .textArea .title {
  font-weight: 400;
}
.news .btn {
  margin-top: 40px;
}

.features {
  padding-top: 24vw;
}
@media (max-width: 767px) {
  .features {
    padding-top: 50vw;
    padding-bottom: 60px;
  }
}
.featuresList {
  flex-wrap: nowrap;
}
@media (max-width: 767px) {
  .featuresList {
    display: block;
  }
}
.featuresList .listItem {
  min-width: 90px;
  flex-grow: 1;
  transition: all .6s ease-in-out;
 position: relative;
}
.featuresList .listItem:hover {
  flex-grow: 9;
}
.featuresList .listItem:hover .itemTitle {
  opacity: 0;
}
.featuresList .listItem:hover .textArea {
  opacity: 1;
  visibility: visible;
}
.featuresList .listItem a {
  position: relative;
  display: block;
  height: 583px;
  background: #000;
}
@media (max-width: 767px) {
  .featuresList .listItem a {
    height: 185px;
  }
}
.featuresList .listItem a::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: .5;
}
@media (max-width: 767px) {
  .featuresList .listItem a::before {
    opacity: .6;
  }
}
.featuresList .listItem .itemTitle {
  position: relative;
  width: 1.4em;
  margin: 0 auto;
  padding-top: 40px;
  font-size: 2.8rem;
  font-weight: bold;
  line-height: 1.2;
  transition: opacity .3s;
}
@media (max-width: 767px) {
  .featuresList .listItem .itemTitle {
    display: none;
  }
}
.featuresList .listItem .itemTitle .num {
  position: relative;
  right: 34px;
  display: inline-block;
  margin-bottom: 35px;
  font-size: 2.88rem;
  font-weight: 900;
  opacity: .6;
  transform: rotate(90deg);
  vertical-align: bottom;
}
.featuresList .listItem .itemTitle .num span {
  position: relative;
  top: -10px;
  font-size: 6.84rem;
  font-weight: 900;
  color: transparent;
  text-stroke: 1px #fff;
  -webkit-text-stroke: 1px #fff;
  line-height: 1;
  vertical-align: middle;
}
.featuresList .listItem .itemTitle .title {
  display: inline-block;
  vertical-align: bottom;
  font-weight: bold;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
.featuresList .listItem .itemTitle .title em {
  text-combine-upright: all;
  font-style: normal;
}
.featuresList .listItem .verticalLead {
  position: absolute;
  right: 40px;
  font-size: 4rem;
  font-weight: bold;
  line-height: 1.7;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  white-space: nowrap;
}
@media (max-width: 1280px) {
  .featuresList .listItem .verticalLead {
    right: 30px;
    font-size: 3.4rem;
  }
}
@media (max-width: 767px) {
  .featuresList .listItem .verticalLead {
    display: none;
  }
}
.featuresList .listItem .verticalLead em {
  text-combine-upright: all;
  font-style: normal;
}
.featuresList .listItem .verticalLead .row {
  background-image: #2f94de;
  background-image: -moz-linear-gradient(top, #de2c2b 0%, #de2c2b 69%, #a82881 100%);
  background-image: -webkit-linear-gradient(top, #de2c2b 0%, #de2c2b 69%, #a82881 100%);
  background-image: linear-gradient(to bottom, #de2c2b 0%, #de2c2b 69%, #a82881 100%);
  background-repeat: no-repeat;
  background-size: 30% 100%;
  background-position: right;
}
.featuresList .listItem .textArea {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  padding: 40px 100px 40px 40px;
  opacity: 0;
  visibility: hidden;
  transition: opacity .5s;
  transition-delay: .3s;
}
@media (max-width: 767px) {
  .featuresList .listItem .textArea {
    padding: 20px 20px;
    opacity: 1;
    visibility: visible;
	position: relative;
  }
  .featuresList .listItem .textArea > *:not(.title) {
    display: none;
  }
}
.featuresList .listItem .textArea .title {
  margin: 0 0 15px;
  font-size: 4rem;
  font-weight: bold;
  line-height: 1.5;
}
@media (max-width: 1280px) {
  .featuresList .listItem .textArea .title {
    font-size: 3.4rem;
  }
}
@media (max-width: 767px) {
  .featuresList .listItem .textArea .title {
    font-size: 2rem;
  }
}
.featuresList .listItem .textArea .title .text_en {
  display: block;
  font-size: 3.2rem;
  font-weight: 900;
  line-height: 1;
}
@media (max-width: 767px) {
  .featuresList .listItem .textArea .title .text_en {
    margin-bottom: 30px;
    font-size: 1.9rem;
    letter-spacing: 1px;
  }
}
.featuresList .listItem .textArea .title .num {
  display: block;
  font-size: 4.4rem;
  font-weight: 900;
  opacity: .6;
  vertical-align: bottom;
}
@media (max-width: 767px) {
  .featuresList .listItem .textArea .title .num {
    margin-top: 3px;
    font-size: 2.6rem;
    letter-spacing: 0;
  }
}
.featuresList .listItem .textArea .title .num span {
  position: relative;
  top: -10px;
  font-size: 10.5rem;
  font-weight: 900;
  color: transparent;
  text-stroke: 1px #fff;
  -webkit-text-stroke: 1px #fff;
  line-height: 1;
  vertical-align: middle;
}
@media (max-width: 767px) {
  .featuresList .listItem .textArea .title .num span {
    font-size: 6.4rem;
  }
}
.featuresList .listItem .textArea .btn {
  margin-top: 30px;
  text-align: left;
}
.featuresList .listItem .circle {
  position: absolute;
  right: 20px;
  top: calc(50% - 31px);
  width: 62px;
  height: 62px;
  padding-right: 2px;
  border: 1px solid #fff;
  border-radius: 50%;
  line-height: 60px;
  text-align: center;
}
.featuresList .listItem .circle .arrow {
  vertical-align: middle;
}
.featuresList .listItem.item01 a {
  background: url(../img/top/features_photo01.jpg?230412) no-repeat center;
  background-size: cover;
}
.featuresList .listItem.item02 a {
  background: url(../img/top/features_photo02.jpg?230412) no-repeat center;
  background-size: cover;
}
.featuresList .listItem.item03 a {
  background: url(../img/top/features_photo03.jpg?230412) no-repeat center;
  background-size: cover;
}
.featuresList .listItem.item04 a {
  background: url(../img/top/features_photo04.jpg?230412) no-repeat center;
  background-size: cover;
}
.featuresList .listItem.item05 a {
  background: url(../img/top/features_photo05.jpg?230412) no-repeat center;
  background-size: cover;
}
.featuresList .listItem.item06 a {
  background: url(../img/top/features_photo06.jpg?230414) no-repeat center;
  background-size: cover;
}
.features .btn {
  margin-top: 50px;
}
@media (max-width: 767px) {
  .features .btn {
    margin-top: 40px;
    padding: 0 20px;
  }
}

.prospect {
  padding-top: 24vw;
}
@media (max-width: 767px) {
  .prospect {
    padding-top: 50vw;
  }
}
.prospect .wrapper {
  max-width: 1280px;
  padding-top: 60px;
}
@media (max-width: 767px) {
  .prospect .wrapper {
    padding-top: 30px;
  }
}
@media (max-width: 1200px) {
  .prospectCol {
    display: block;
  }
}
@media (max-width: 1024px) {
  .prospectCol {
    display: block;
  }
}
.prospectCol .title {
  width: 50%;
  margin: 0;
  font-size: 7.5rem;
  font-weight: bold;
  line-height: 1.65;
}
@media (max-width: 1024px) {
  .prospectCol .title {
    width: 100%;
    font-size: 3.6rem;
  }
}
.prospectCol .textArea {
  width: 40.625%;
  padding-top: 20px;
}
@media (max-width: 1024px) {
  .prospectCol .textArea {
    width: 100%;
  }
}
.prospectCol .textArea p {
  margin-bottom: 15px;
}
.prospectCol .textArea .bold {
  margin-top: 20px;
  font-size: 2.2rem;
  font-weight: bold;
}
.prospectCol .textArea .btn {
  margin-top: 35px;
  margin-bottom: 0;
  text-align: left;
}

.courses {
  padding-top: 24vw;
}
@media (max-width: 767px) {
  .courses {
    padding-top: 50vw;
  }
}
.courses .coursesBlock {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  width: calc(100% - 80px);
  height: 477px;
  margin-left: 80px;
  padding-left: 4%;
}
@media (min-width: 768px) {
  .courses .coursesBlock::after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0;
    transition: opacity .5s;
  }
  .courses .coursesBlock:hover::after {
    opacity: .5;
  }
}
@media (max-width: 1520px) {
  .courses .coursesBlock {
    padding-left: 200px;
  }
}
@media (max-width: 767px) {
  .courses .coursesBlock {
    height: auto;
    width: calc(100% - 20px);
    margin-left: 20px;
    padding-left: 0;
  }
}
.courses .coursesBlock::before {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
@media (max-width: 767px) {
  .courses .coursesBlock::before {
    position: relative;
    height: 59.2vw;
  }
}
.courses .coursesBlock.block01::before {
  background: url(../img/top/courses_bg02.jpg) no-repeat center;
  background-size: cover;
}
.courses .coursesBlock.block02 {
  margin-top: 30px;
}
.courses .coursesBlock.block02::before {
  background: url(../img/top/courses_bg03.jpg) no-repeat center;
  background-size: cover;
}
@media (max-width: 767px) {
  .courses .coursesBlock.block02::before {
    background: url(../img/top/courses_bg03_sp.jpg) no-repeat center;
    background-size: cover;
  }
}
.courses .coursesBlock > * {
  position: relative;
}
.courses .coursesBlock .blockLabel {
  position: absolute;
  left: -80px;
  top: 50%;
  display: inline-block;
  margin-top: -24px;
  font-size: 2.56rem;
  z-index: 1;
}
@media (max-width: 767px) {
  .courses .coursesBlock .blockLabel {
    left: -20px;
    top: 30px;
    margin-top: 0;
    font-size: 2rem;
  }
}
.courses .coursesBlock .blockLabel .bg {
  display: inline-block;
  padding: 8px 24px 10px;
  background: #de2c2b;
  background: -moz-linear-gradient(left, #de2c2b 0%, #a82881 100%);
  background: -webkit-linear-gradient(left, #de2c2b 0%, #a82881 100%);
  background: linear-gradient(to right, #de2c2b 0%, #a82881 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#de2c2b', endColorstr='#a82881',GradientType=1 );
  font-weight: 900;
  letter-spacing: 0.03em;
  line-height: 1.2;
}
.courses .coursesBlock .textArea {
  position: relative;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  text-shadow: 0 0 6px #000;
  z-index: 1;
}
@media (max-width: 767px) {
  .courses .coursesBlock .textArea {
    margin-top: 25px;
    padding-right: 20px;
  }
}
.courses .coursesBlock .textArea > * {
  max-width: 424px;
}
@media (max-width: 767px) {
  .courses .coursesBlock .textArea > * {
    max-width: 100%;
  }
}
.courses .coursesBlock .textArea .title {
  margin: 0 0 20px;
  font-size: 3rem;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 1px;
}
@media (max-width: 767px) {
  .courses .coursesBlock .textArea .title {
    font-size: 2.2rem;
  }
}
.courses .coursesBlock .textArea .btn {
  margin-top: 30px;
  text-align: left;
  text-shadow: none;
}
.courses .coursesBlock .textArea .btn .btnLink {
  filter: drop-shadow(0 0 4px #000);
}

.campuslife {
  margin-top: 80px;
  padding-top: 24vw;
}
@media (max-width: 767px) {
  .campuslife {
    margin-top: 40px;
    padding-top: 50vw;
  }
}
.campuslife .topTitle {
  margin-bottom: -150px;
}
@media (max-width: 767px) {
  .campuslife .topTitle {
    margin-bottom: 0;
  }
}
.campuslife .topTitle .text_en {
  display: inline-block;
  text-align: left;
}
.campuslife .topTitle .text_en .row {
  padding-left: .625em;
}
.campuslife .topTitle .text_en .bgextend::before {
  width: 160%;
  height: 90%;
}
.campuslifeSlideArea {
  position: relative;
  margin-top: 100px;
}
@media (max-width: 767px) {
  .campuslifeSlideArea {
    margin-top: 0;
  }
}
.campuslifeSlideArea .btn {
  position: absolute;
  left: 0;
  top: calc(50% - 27px);
  width: 100%;
}
@media (max-width: 767px) {
  .campuslifeSlideArea .btn {
    position: static;
    margin-top: 35px;
    padding: 0 20px;
  }
}
.campuslifeSlide > .slideItem:not(::content) {
  display: none;
}
.campuslifeSlide .slideItem {
  width: 430px;
  padding-right: 20px;
}
@media (max-width: 767px) {
  .campuslifeSlide .slideItem {
    width: 215px;
    padding-right: 10px;
  }
}
.campuslifeSlide .slideItem.item02 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media (max-width: 767px) {
  .campuslifeSlide .slideItem.item02 div {
    width: 98px;
  }
}
.campuslifeSlide .slideItem.item02 div:nth-of-type(3), .campuslifeSlide .slideItem.item02 div:nth-of-type(4) {
  margin-top: 20px;
}
@media (max-width: 767px) {
  .campuslifeSlide .slideItem.item02 div:nth-of-type(3), .campuslifeSlide .slideItem.item02 div:nth-of-type(4) {
    margin-top: 9px;
  }
}

.link {
  margin: 173px 0;
}
@media (max-width: 767px) {
  .link {
    margin: 108px 0;
  }
}
.link .linkList .listItem {
  position: relative;
  width: 33.333%;
  background: #000;
}
@media (max-width: 767px) {
  .link .linkList .listItem {
    width: 100%;
  }
}
.link .linkList .listItem a {
  position: relative;
  display: block;
  height: 410px;
  padding: 40px;
}
@media (max-width: 767px) {
  .link .linkList .listItem a {
    height: 294px;
    padding: 30px 80px 30px 20px;
  }
}
.link .linkList .listItem a::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: .5;
}
.link .linkList .listItem a::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 5px;
  background: #6524ea;
  background: -moz-linear-gradient(left, #6524ea 0%, #de2c2b 100%);
  background: -webkit-linear-gradient(left, #6524ea 0%, #de2c2b 100%);
  background: linear-gradient(to right, #6524ea 0%, #de2c2b 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='$sub_color', endColorstr='$main_color', GradientType=1);
  opacity: 0;
  transition: all .4s;
}
@media (max-width: 767px) {
  .link .linkList .listItem a::after {
    width: 100%;
    opacity: 1;
  }
}
.link .linkList .listItem a > * {
  position: relative;
}
.link .linkList .listItem a:hover::after {
  width: 100%;
  opacity: 1;
}
.link .linkList .listItem a p {
  padding-right: 60px;
}
.link .linkList .listItem a .title {
  margin: 0 0 15px;
  font-size: 3rem;
  font-weight: bold;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .link .linkList .listItem a .title {
    font-size: 2.2rem;
  }
}
.link .linkList .listItem a .text_en {
  position: absolute;
  left: 20px;
  bottom: 20px;
  display: block;
  color: transparent;
  font-size: 73px;
  font-weight: 900;
  line-height: 1;
  text-stroke: 1px #fff;
  -webkit-text-stroke: 1px #fff;
  opacity: .6;
}
@media (max-width: 1280px) {
  .link .linkList .listItem a .text_en {
    font-size: 56px;
  }
}
@media (max-width: 767px) {
  .link .linkList .listItem a .text_en {
    display: none;
  }
}
.link .linkList .listItem a .circle {
  position: absolute;
  right: 32px;
  top: calc(50% - 31px);
  width: 62px;
  height: 62px;
  padding-right: 2px;
  border: 1px solid #fff;
  border-radius: 50%;
  line-height: 60px;
  text-align: center;
}
@media (max-width: 767px) {
  .link .linkList .listItem a .circle {
    right: 20px;
  }
}
.link .linkList .listItem a .circle .arrow {
  vertical-align: middle;
}
.link .linkList .listItem:nth-of-type(1) {
  background: url(../img/top/link_bg01.jpg) no-repeat center;
  background-size: cover;
}
.link .linkList .listItem:nth-of-type(2) {
  background: url(../img/top/link_bg02.jpg) no-repeat center;
	
  background-size: cover;
}
.link .linkList .listItem:nth-of-type(3) {
  background: url(../img/top/link_bg03.jpg) no-repeat center;
  background-size: cover;
}

.opencampus {
  position: relative;
  background: #2f94de;
  background: -moz-linear-gradient(left, #2f94de 0%, #0eb0a2 100%);
  background: -webkit-linear-gradient(left, #2f94de 0%, #0eb0a2 100%);
  background: linear-gradient(to right, #2f94de 0%, #0eb0a2 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#2f94de', endColorstr='#0eb0a2', GradientType=1);
}
@media (max-width: 767px) {
  .opencampus {
    overflow: hidden;
  }
}
.opencampus > a {
  display: block;
}
@media (min-width: 768px) {
  .opencampus > a:hover .title01 {
    opacity: 1;
  }
}
.opencampus .opemcampusSlide {
  opacity: .2;
}
.opencampus .opemcampusSlide > .slideItem:not(:nth-of-type(1)) {
  display: none;
}
.opencampus .opemcampusSlide .slideItem {
  position: relative;
  width: 602px;
  height: 448px;
  overflow: hidden;
}
@media (max-width: 767px) {
  .opencampus .opemcampusSlide .slideItem {
    width: 395px;
    height: 324px;
  }
}
.opencampus .opemcampusSlide .slideItem img {
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  min-width: 100%;
  min-height: 100%;
  height: auto;
  transform: translate(-50%, -50%);
  object-fit: cover;
}
.opencampus .textArea {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  padding: 30px 0 0 3%;
}
.opencampus .textArea .title01 {
  font-size: 192.5px;
  font-weight: 900;
  line-height: .9;
  opacity: .5;
  transition: opacity .5s;
}
@media (max-width: 767px) {
  .opencampus .textArea .title01 {
    margin-bottom: 10px;
    font-size: 58px;
    line-height: 1;
  }
}
.opencampus .textArea .title02 {
  position: absolute;
  left: calc(3% + 540px);
  top: 52px;
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 1.77;
}
@media (max-width: 767px) {
  .opencampus .textArea .title02 {
    position: static;
    font-size: 1.6rem;
  }
}
.opencampus .circle {
  position: absolute;
  right: 20px;
  top: calc(50% - 31px);
  width: 62px;
  height: 62px;
  padding-right: 2px;
  border: 1px solid #fff;
  border-radius: 50%;
  line-height: 60px;
  text-align: center;
}
.opencampus .circle .arrow {
  vertical-align: middle;
}
.top-link li {
	height:400px;
}
@media (max-width: 767px) {
	.top-link li {
	height:200px;
}