@charset "UTF-8";
/**
  pxをvwに変換

  @return vw
**/
/**
  とあるmedia queryの区間のフォントサイズをvwで動かす
  
  .test{
    font-size: 40px;
  }
  @media only screen and (max-width:1200px){
    .test{
      @include fs-smooth(40, 20, 1200, 768);
    }
  }
  @media only screen and (max-width:768px){
    .test{
      font-size: 20px;
    }
  }
**/
.mv_layout {
  width: 100%;
  height: 100%; }

.header-inner-logo {
  position: fixed;
  width: 120px;
  height: 120px;
  background: #ffffff;
  top: 0;
  left: 0;
  display: block;
  z-index: 9998;
  border-radius: 0 0 6px 0;
  box-shadow: 0px 4px 42px 0px rgba(59, 59, 59, 0.1); }
  .header-inner-logo:hover .logo:after {
    top: 0;
    left: 0; }
  .header-inner-logo .logo {
    padding: 33px 22px;
    display: block;
    position: relative; }

.header-campus {
  box-shadow: 0px 4px 42px 0px rgba(59, 59, 59, 0.1);
  background: #ffffff;
  width: 335px;
  position: fixed;
  right: 10px;
  top: 10px;
  z-index: 9998;
  line-height: 1;
  border-radius: 4px; }
  .header-campus a {
    -webkit-transform: scale(1);
        -ms-transform: scale(1);
            transform: scale(1);
    padding: 20px;
    display: block;
    -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1); }
    .header-campus a:hover {
      -webkit-transform: scale(0.96);
          -ms-transform: scale(0.96);
              transform: scale(0.96); }
  .header-campus-inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
    .header-campus-inner .img-area {
      width: 26%;
      margin: 0 15px 0 0; }
    .header-campus-inner .text-area b {
      display: block;
      margin-bottom: 5px; }
    .header-campus-inner .text-area p {
      font-weight: 600; }

.header nav {
  overflow: hidden;
  box-shadow: 0px 4px 42px 0px rgba(59, 59, 59, 0.1);
  z-index: 9;
  width: 120px;
  position: fixed;
  right: 0;
  top: 50%;
  height: 470px;
  -webkit-transform: translateY(-50%) translateX(0);
      -ms-transform: translateY(-50%) translateX(0);
          transform: translateY(-50%) translateX(0);
  border-radius: 6px 0 0 6px;
  -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1); }
  .header nav ul {
    height: 100%; }
    .header nav ul li {
      height: 50%;
      position: relative; }
      .header nav ul li:first-child {
        border-bottom: 1px solid #fae281; }
        .header nav ul li:first-child a:after {
          border-radius: 6px 0 0 0; }
      .header nav ul li a {
        background: #ffffff;
        font-weight: 600;
        width: 100%;
        height: 100%;
        display: block;
        color: #000000;
        position: relative;
        -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
        transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1); }
        .header nav ul li a:after {
          opacity: 0;
          -webkit-transform: scale(0.8);
              -ms-transform: scale(0.8);
                  transform: scale(0.8);
          height: -webkit-calc(100% - 4px);
          height: calc(100% - 4px);
          width: -webkit-calc(100% - 4px);
          width: calc(100% - 4px);
          position: absolute;
          top: 2px;
          left: 2px;
          border: 2px solid #FDDF5F;
          content: "";
          border-radius: 0 0 0 6px;
          -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
          transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1); }
        .header nav ul li a:hover:after {
          opacity: 1;
          -webkit-transform: scale(1);
              -ms-transform: scale(1);
                  transform: scale(1); }
      .header nav ul li span {
        display: block; }
      .header nav ul li .text-area {
        line-height: 1;
        z-index: 2;
        width: 100%;
        text-align: center; }
        .header nav ul li .text-area .jp {
          margin-bottom: 5px; }
        .header nav ul li .text-area .en {
          font-size: 1.2rem; }
      .header nav ul li .number {
        text-align: center;
        z-index: 1;
        font-size: 6rem;
        color: #FED430;
        letter-spacing: 0em; }

@media screen and (max-width: 1200px) {
  .header nav {
    -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    right: 0; }
  .js__header nav {
    -webkit-transform: translateY(-50%) translateX(100%);
        -ms-transform: translateY(-50%) translateX(100%);
            transform: translateY(-50%) translateX(100%);
    -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1); } }

@media screen and (max-width: 896px) {
  .header-inner-logo {
    width: 15.625vw;
    height: 15.625vw; }
  .header-inner .logo {
    padding: 3.90625vw 2.79018vw 3.90625vw 2.79018vw; }
  .header-campus {
    z-index: 9;
    position: absolute;
    width: 55.80357vw;
    right: auto;
    left: 2.23214vw;
    bottom: 2.23214vw;
    top: auto; }
    .header-campus a {
      padding: 2.23214vw 2.23214vw 2.23214vw 2.23214vw; }
    .header-campus-inner .text-area b {
      font-size: 2.45536vw; }
    .header-campus-inner .text-area p {
      font-size: 2.23214vw; }
  .header nav {
    opacity: 0;
    z-index: 9999;
    border-radius: 6px 6px 0 0;
    right: auto;
    left: 50%;
    width: 94%;
    top: auto;
    height: 11.16071vw;
    bottom: 0;
    -webkit-transform: translateY(100%) translateX(-50%);
        -ms-transform: translateY(100%) translateX(-50%);
            transform: translateY(100%) translateX(-50%); }
    .header nav ul {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; }
      .header nav ul li {
        height: auto;
        width: 50%;
        text-align: center; }
        .header nav ul li:first-child {
          border-bottom: none;
          border-right: 1px solid #fae281; }
        .header nav ul li a {
          padding: 2.23214vw; }
          .header nav ul li a:after {
            display: none; }
        .header nav ul li .text-area .jp {
          font-size: 2.67857vw; }
        .header nav ul li .text-area .en {
          font-size: 2.23214vw; }
        .header nav ul li .number {
          font-size: 6.69643vw; }
  .js__header nav {
    -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    opacity: 1;
    bottom: 0;
    -webkit-transform: translateY(0) translateX(-50%);
        -ms-transform: translateY(0) translateX(-50%);
            transform: translateY(0) translateX(-50%); } }

@media screen and (max-width: 414px) {
  .header-inner-logo {
    width: 19.32367vw;
    height: 19.32367vw; }
  .header-campus {
    width: 76%;
    left: 20px;
    bottom: 20px; }
    .header-campus-inner .text-area b {
      font-size: 12px; }
    .header-campus-inner .text-area p {
      font-size: 10px; }
  .header nav {
    height: 60px;
    border-radius: 4px 4px 0 0; }
    .header nav ul li a {
      padding: 15px; }
    .header nav ul li .text-area .jp {
      font-size: 12px; }
    .header nav ul li .text-area .en {
      font-size: 12px; } }

/**
  pxをvwに変換

  @return vw
**/
/**
  とあるmedia queryの区間のフォントサイズをvwで動かす
  
  .test{
    font-size: 40px;
  }
  @media only screen and (max-width:1200px){
    .test{
      @include fs-smooth(40, 20, 1200, 768);
    }
  }
  @media only screen and (max-width:768px){
    .test{
      font-size: 20px;
    }
  }
**/
.footer {
  overflow: hidden;
  position: relative; }
  .footer-sitemap {
    background: #e60012;
    width: -webkit-calc(100% - 150px);
    width: calc(100% - 150px);
    padding: 150px 0;
    color: #ffffff; }
    .footer-sitemap-inner {
      margin-left: 150px; }
    .footer-sitemap nav ul {
      margin-bottom: 30px;
      overflow: hidden; }
      .footer-sitemap nav ul li {
        float: left;
        margin: 0 40px 0 0;
        font-weight: 600; }
    .footer-sitemap .sns-area {
      margin-bottom: 30px; }
      .footer-sitemap .sns-area p {
        display: inline-block;
        font-size: 1.6rem; }
        .footer-sitemap .sns-area p:after {
          width: 30px;
          height: 1px;
          vertical-align: middle;
          display: inline-block;
          content: "";
          background: #ffffff;
          margin: 0 30px 0 20px; }
      .footer-sitemap .sns-area ul {
        vertical-align: middle;
        overflow: hidden;
        display: inline-block; }
        .footer-sitemap .sns-area ul li {
          margin: 0 10px 0 0;
          float: left; }
          .footer-sitemap .sns-area ul li a {
            display: block;
            font-size: 2.6rem; }
    .footer-sitemap .logo {
      display: block;
      width: 240px;
      margin-bottom: 15px; }
    .footer-sitemap address {
      font-style: normal;
      color: #ffffff;
      display: block;
      margin-bottom: 15px; }
    .footer-sitemap .a-link {
      font-weight: 600;
      margin-bottom: 10px;
      display: block; }
      .footer-sitemap .a-link i {
        display: inline-block;
        margin: 0 5px 0 0; }
  .footer a {
    color: #ffffff; }
  .footer .copy {
    display: block; }
  .footer-twitter {
    display: block;
    height: 300px;
    width: 300px;
    background: #1a91da;
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 1;
    -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1); }
    .footer-twitter:hover {
      width: 320px;
      height: 320px; }
    .footer-twitter-inner {
      text-align: center;
      z-index: 1; }
      .footer-twitter-inner .text {
        margin-bottom: 10px;
        display: block; }
        .footer-twitter-inner .text i {
          display: inline-block;
          font-size: 5rem;
          margin: 0 10px 0 0;
          vertical-align: middle; }
        .footer-twitter-inner .text .en {
          display: inline-block;
          font-size: 2.4rem;
          vertical-align: middle; }
      .footer-twitter-inner p {
        font-size: 1.8rem;
        letter-spacing: 0.1em;
        font-weight: 600; }

@media screen and (max-width: 1200px) {
  .footer-sitemap {
    width: -webkit-calc(100% - 150px);
    width: calc(100% - 150px);
    padding: 12.5vw 0vw 12.5vw 0vw; }
    .footer-sitemap-inner {
      margin-left: 12.5vw; }
    .footer-sitemap nav ul {
      margin-bottom: 2.5vw; }
      .footer-sitemap nav ul li {
        margin: 0vw 3.33333vw 0vw 0vw; }
    .footer-sitemap .sns-area {
      margin-bottom: 2.5vw; }
      .footer-sitemap .sns-area p {
        font-size: 1.33333vw; }
        .footer-sitemap .sns-area p:after {
          width: 2.5vw;
          height: 1px;
          margin: 0vw 0.25vw 0vw 1.66667vw; }
      .footer-sitemap .sns-area ul li {
        margin-right: 0.83333vw;
        float: left; }
        .footer-sitemap .sns-area ul li a {
          font-size: 2.16667vw; }
    .footer-sitemap .logo {
      width: 20vw;
      margin-bottom: 1.25vw; }
    .footer-sitemap address {
      margin-bottom: 1.25vw; }
    .footer-sitemap .a-link {
      margin-bottom: 0.83333vw; }
      .footer-sitemap .a-link i {
        margin-right: 0.41667vw; }
  .footer-twitter {
    height: 25vw;
    width: 25vw; }
    .footer-twitter-inner .text {
      margin-bottom: 0.83333vw; }
      .footer-twitter-inner .text i {
        font-size: 4.16667vw;
        margin-right: 0.83333vw; }
      .footer-twitter-inner .text .en {
        font-size: 2vw; }
    .footer-twitter-inner p {
      font-size: 1.5vw; } }

@media screen and (max-width: 896px) {
  .footer-sitemap {
    margin-top: -4.46429vw;
    width: 100%;
    padding: 22.32143vw 0vw 29.01786vw 0vw; }
    .footer-sitemap-inner {
      margin-left: 0; }
    .footer-sitemap nav ul {
      margin-bottom: 3.34821vw; }
      .footer-sitemap nav ul li {
        font-size: 2.23214vw; }
    .footer-sitemap .sns-area p {
      font-size: 2.67857vw; }
    .footer-sitemap .sns-area ul li {
      margin-right: 2.23214vw; }
      .footer-sitemap .sns-area ul li a {
        font-size: 5.58036vw; }
    .footer-sitemap .logo {
      width: 37.94643vw;
      margin-bottom: 3.34821vw; }
    .footer-sitemap address {
      margin-bottom: 3.34821vw;
      font-size: 2.67857vw; }
    .footer-sitemap .a-link {
      font-size: 2.23214vw; }
  .footer .copy {
    font-size: 2.23214vw; }
  .footer-twitter {
    width: 90%;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 0vw;
    height: auto;
    position: relative;
    right: auto;
    bottom: auto; }
    .footer-twitter:hover {
      width: 90%;
      height: auto; }
    .footer-twitter .footer-twitter-inner {
      text-align: center;
      left: auto;
      padding: 4.46429vw 2.23214vw 4.46429vw 2.23214vw;
      position: relative;
      top: auto;
      bottom: auto;
      -webkit-transform: translateY(0) translateX(0);
          -ms-transform: translateY(0) translateX(0);
              transform: translateY(0) translateX(0); }
      .footer-twitter .footer-twitter-inner .text i {
        font-size: 5.58036vw; }
      .footer-twitter .footer-twitter-inner .text .en {
        font-size: 3.57143vw; }
      .footer-twitter .footer-twitter-inner p {
        font-size: 2.23214vw; } }

@media screen and (max-width: 414px) {
  .footer-sitemap {
    padding: 60px 0 80px 0; }
    .footer-sitemap nav ul li {
      font-size: 12px; }
    .footer-sitemap .sns-area p {
      font-size: 12px; }
    .footer-sitemap address {
      font-size: 12px; }
    .footer-sitemap .a-link {
      font-size: 12px; }
      .footer-sitemap .a-link i {
        margin: 0 5px 0 0; }
  .footer .copy {
    font-size: 10px; }
  .footer-twitter .footer-twitter-inner .text {
    margin-bottom: 6px; }
    .footer-twitter .footer-twitter-inner .text i {
      font-size: 30px; }
    .footer-twitter .footer-twitter-inner .text .en {
      font-size: 15px; }
  .footer-twitter .footer-twitter-inner p {
    font-size: 10px; } }

.l-view {
  margin-bottom: 100px;
  padding: 0 0 20px 0px;
  overflow: hidden; }
  .l-view ul li {
    float: left;
    width: 48%;
    margin: 0 4% 0 0;
    position: relative; }
    .l-view ul li:last-child {
      margin: 0; }
    .l-view ul li:after {
      width: 100%;
      height: 100%;
      position: absolute;
      content: "";
      border: 4px solid inherit;
      right: -20px;
      bottom: -20px;
      z-index: 1; }
    .l-view ul li:before {
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 40px 40px 0 0;
      border-color: #ffffff transparent transparent transparent;
      position: absolute;
      content: "";
      top: 0;
      left: 0;
      z-index: 3; }
    .l-view ul li a {
      position: relative;
      z-index: 2;
      -webkit-transform: translate3d(0, 0, 0);
              transform: translate3d(0, 0, 0);
      display: block;
      -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
      transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1); }
      .l-view ul li a:hover {
        -webkit-transform: translate3d(10px, 10px, 0);
                transform: translate3d(10px, 10px, 0); }
        .l-view ul li a:hover .img-area img {
          -webkit-transform: scale(1.08);
              -ms-transform: scale(1.08);
                  transform: scale(1.08); }
    .l-view ul li .img-area {
      overflow: hidden;
      position: relative;
      z-index: 2; }
      .l-view ul li .img-area img {
        -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
        transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
        -webkit-transform: scale(1);
            -ms-transform: scale(1);
                transform: scale(1); }
      .l-view ul li .img-area:after {
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        content: ""; }
    .l-view ul li .text-area {
      z-index: 9;
      width: 80%; }
      .l-view ul li .text-area .reed {
        text-align: left;
        margin-bottom: 20px;
        line-height: 1; }
        .l-view ul li .text-area .reed .jp {
          margin-bottom: 15px;
          font-weight: 600;
          font-size: 4rem; }
        .l-view ul li .text-area .reed .en {
          font-size: 2.6rem; }
    .l-view ul li .btn-area {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      width: 100%;
      line-height: 1; }
      .l-view ul li .btn-area .icon-area {
        margin: 0 20px 0 0;
        width: 54px;
        height: 54px;
        background: #ffffff;
        border-radius: 200px;
        position: relative; }
        .l-view ul li .btn-area .icon-area i {
          font-size: 2.2rem; }
      .l-view ul li .btn-area .text .number {
        display: block;
        margin-bottom: 8px; }
        .l-view ul li .btn-area .text .number span {
          font-size: 2rem;
          margin: 0 0 0 10px;
          display: inline-block; }
      .l-view ul li .btn-area .text p {
        font-weight: 500; }
  .l-view-book:after {
    border: 4px solid #ffe000; }
  .l-view-book a {
    color: #e60012; }
    .l-view-book a .img-area:after {
      background: rgba(255, 244, 0, 0.8); }
    .l-view-book a .btn-area .icon-area i {
      color: #e60012; }
  .l-view-quiz:after {
    border: 4px solid #1933a9; }
  .l-view-quiz a {
    color: #ffffff; }
    .l-view-quiz a .img-area:after {
      background: rgba(27, 55, 177, 0.85); }
    .l-view-quiz a .btn-area .icon-area i {
      color: #1934a9; }

@media screen and (max-width: 1200px) {
  .l-view {
    margin-bottom: 8.33333vw; }
    .l-view ul li:after {
      right: -1.66667vw;
      bottom: -1.66667vw; }
    .l-view ul li:before {
      border-width: 3.33333vw 3.33333vw 0vw 0vw; }
    .l-view ul li .text-area {
      z-index: 9;
      width: 80%; }
      .l-view ul li .text-area .reed {
        margin-bottom: 1.66667vw; }
        .l-view ul li .text-area .reed .jp {
          margin-bottom: 1.25vw;
          font-size: 3.33333vw; }
        .l-view ul li .text-area .reed .en {
          font-size: 2.16667vw; }
    .l-view ul li .btn-area .icon-area {
      margin-right: 1.66667vw;
      width: 4.5vw;
      height: 4.5vw; }
      .l-view ul li .btn-area .icon-area i {
        font-size: 1.83333vw; }
    .l-view ul li .btn-area .text .number {
      margin-bottom: 0.66667vw; }
      .l-view ul li .btn-area .text .number span {
        font-size: 1.66667vw;
        margin: 0 0 0 10px; }
    .l-view ul li .btn-area .text p {
      font-size: 1.16667vw; } }

@media screen and (max-width: 896px) {
  .l-view {
    padding-bottom: 2.23214vw;
    margin-bottom: 11.16071vw; }
    .l-view ul li .text-area {
      width: 82%; }
      .l-view ul li .text-area .reed .jp {
        font-size: 5.75374vw; }
      .l-view ul li .text-area .reed .en {
        font-size: 3.45224vw; }
    .l-view ul li .btn-area .icon-area {
      -webkit-transform: translateY(-50%) translateX(0);
          -ms-transform: translateY(-50%) translateX(0);
              transform: translateY(-50%) translateX(0);
      top: 50%;
      position: absolute;
      right: 0;
      width: 6.13839vw;
      height: 6.13839vw; }
      .l-view ul li .btn-area .icon-area i {
        font-size: 3.57143vw; }
    .l-view ul li .btn-area .text {
      display: none; }
    .l-view-book:after {
      border-width: 2px; }
    .l-view-quiz:after {
      border-width: 2px; } }

@media screen and (max-width: 414px) {
  .l-view ul li .text-area .reed .jp {
    font-size: 18px; }
  .l-view ul li .text-area .reed .en {
    font-size: 14px; } }

.open-campus-btn {
  display: block;
  margin-bottom: 80px; }
  .open-campus-btn:hover .open-campus-btn-inner p .in .text span {
    -webkit-transform: translate3d(0px, -15px, 0px);
            transform: translate3d(0px, -15px, 0px); }
  .open-campus-btn .inner {
    position: relative;
    padding: 80px 0; }
    .open-campus-btn .inner i {
      position: absolute;
      right: 20px;
      bottom: 20px;
      font-size: 1.8rem; }
    .open-campus-btn .inner:after {
      width: 80px;
      height: 5px;
      position: absolute;
      background: #e60012;
      content: "";
      left: 0;
      top: 0; }
    .open-campus-btn .inner:before {
      width: 5px;
      height: 80px;
      position: absolute;
      background: #e60012;
      content: "";
      left: 0;
      top: 0; }
  .open-campus-btn-inner {
    line-height: 1; }
    .open-campus-btn-inner p {
      text-align: center;
      font-size: 12rem;
      letter-spacing: 0; }
      .open-campus-btn-inner p .in {
        display: inline-block;
        position: relative; }
        .open-campus-btn-inner p .in .text span {
          display: inline-block;
          -webkit-transform: translate3d(0, 0, 0);
                  transform: translate3d(0, 0, 0); }
          .open-campus-btn-inner p .in .text span:first-child {
            -webkit-transition: 0.2s cubic-bezier(0.79, 0.17, 0.15, 0.96);
            transition: 0.2s cubic-bezier(0.79, 0.17, 0.15, 0.96); }
          .open-campus-btn-inner p .in .text span:nth-child(2) {
            -webkit-transition: 0.4s cubic-bezier(0.79, 0.17, 0.15, 0.96);
            transition: 0.4s cubic-bezier(0.79, 0.17, 0.15, 0.96); }
          .open-campus-btn-inner p .in .text span:nth-child(3) {
            -webkit-transition: 0.6s cubic-bezier(0.79, 0.17, 0.15, 0.96);
            transition: 0.6s cubic-bezier(0.79, 0.17, 0.15, 0.96); }
          .open-campus-btn-inner p .in .text span:nth-child(4) {
            -webkit-transition: 0.8s cubic-bezier(0.79, 0.17, 0.15, 0.96);
            transition: 0.8s cubic-bezier(0.79, 0.17, 0.15, 0.96); }
          .open-campus-btn-inner p .in .text span:nth-child(5) {
            -webkit-transition: 1s cubic-bezier(0.79, 0.17, 0.15, 0.96);
            transition: 1s cubic-bezier(0.79, 0.17, 0.15, 0.96); }
          .open-campus-btn-inner p .in .text span:nth-child(6) {
            -webkit-transition: 1.2s cubic-bezier(0.79, 0.17, 0.15, 0.96);
            transition: 1.2s cubic-bezier(0.79, 0.17, 0.15, 0.96); }
          .open-campus-btn-inner p .in .text span:nth-child(7) {
            -webkit-transition: 1.4s cubic-bezier(0.79, 0.17, 0.15, 0.96);
            transition: 1.4s cubic-bezier(0.79, 0.17, 0.15, 0.96); }
          .open-campus-btn-inner p .in .text span:nth-child(8) {
            -webkit-transition: 1.6s cubic-bezier(0.79, 0.17, 0.15, 0.96);
            transition: 1.6s cubic-bezier(0.79, 0.17, 0.15, 0.96); }
          .open-campus-btn-inner p .in .text span:nth-child(9) {
            -webkit-transition: 1.8s cubic-bezier(0.79, 0.17, 0.15, 0.96);
            transition: 1.8s cubic-bezier(0.79, 0.17, 0.15, 0.96); }
          .open-campus-btn-inner p .in .text span:nth-child(10) {
            -webkit-transition: 2.2s cubic-bezier(0.79, 0.17, 0.15, 0.96);
            transition: 2.2s cubic-bezier(0.79, 0.17, 0.15, 0.96); }
          .open-campus-btn-inner p .in .text span:nth-child(11) {
            -webkit-transition: 2.4s cubic-bezier(0.79, 0.17, 0.15, 0.96);
            transition: 2.4s cubic-bezier(0.79, 0.17, 0.15, 0.96); }
          .open-campus-btn-inner p .in .text span:nth-child(12) {
            -webkit-transition: 2.6s cubic-bezier(0.79, 0.17, 0.15, 0.96);
            transition: 2.6s cubic-bezier(0.79, 0.17, 0.15, 0.96); }
          .open-campus-btn-inner p .in .text span:nth-child(13) {
            -webkit-transition: 2.8s cubic-bezier(0.79, 0.17, 0.15, 0.96);
            transition: 2.8s cubic-bezier(0.79, 0.17, 0.15, 0.96); }
        .open-campus-btn-inner p .in .jp {
          display: block;
          position: absolute;
          left: 10px;
          top: -30px;
          font-size: 2rem;
          font-weight: 600; }
    .open-campus-btn-inner:after {
      width: 80px;
      height: 5px;
      position: absolute;
      background: #e60012;
      content: "";
      right: 0;
      bottom: 0; }
    .open-campus-btn-inner:before {
      width: 5px;
      height: 80px;
      position: absolute;
      background: #e60012;
      content: "";
      right: 0;
      bottom: 0; }

@media screen and (max-width: 1200px) {
  .open-campus-btn {
    margin-bottom: 15vw; }
    .open-campus-btn .inner {
      position: relative;
      padding: 6.66667vw 0vw 6.66667vw 0vw; }
      .open-campus-btn .inner i {
        position: absolute;
        right: 1.66667vw;
        bottom: 1.66667vw;
        font-size: 1.5vw; }
      .open-campus-btn .inner:after {
        width: 6.66667vw;
        height: 0.41667vw; }
      .open-campus-btn .inner:before {
        width: 0.41667vw;
        height: 6.66667vw; }
    .open-campus-btn-inner p {
      font-size: 10vw; }
      .open-campus-btn-inner p .in .jp {
        display: block;
        position: absolute;
        left: 0.83333vw;
        top: -2.5vw;
        font-size: 1.66667vw; }
    .open-campus-btn-inner:after {
      width: 6.66667vw;
      height: 0.41667vw; }
    .open-campus-btn-inner:before {
      width: 0.41667vw;
      height: 6.66667vw; } }

@media screen and (max-width: 896px) {
  .open-campus-btn:hover .open-campus-btn-inner p .in .text span {
    -webkit-transform: translate3d(0px, 0, 0px);
            transform: translate3d(0px, 0, 0px); }
  .open-campus-btn .inner {
    padding: 11.71875vw 0vw 5.58036vw 0vw; }
    .open-campus-btn .inner i {
      font-size: 3.34821vw; }
  .open-campus-btn-inner p .in .jp {
    top: -3.125vw;
    font-size: 2.23214vw; } }

@media screen and (max-width: 414px) {
  .open-campus-btn .inner {
    padding: 60px 25px 25px 25px; }
    .open-campus-btn .inner i {
      font-size: 14px;
      bottom: 15px;
      right: 15px; }
    .open-campus-btn .inner:after {
      width: 40px;
      height: 3px; }
    .open-campus-btn .inner:before {
      width: 3px;
      height: 40px; }
  .open-campus-btn-inner p {
    font-size: 34px; }
    .open-campus-btn-inner p .in .jp {
      top: -20px;
      font-size: 14px; }
  .open-campus-btn-inner:after {
    width: 40px;
    height: 3px; }
  .open-campus-btn-inner:before {
    width: 3px;
    height: 40px; } }

.cursor-pointwrap {
  overflow: hidden; }

.cursor-point,
.follower-point {
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  z-index: 9998; }

.cursor-point {
  width: 8px;
  height: 8px;
  background-color: #E60012;
  z-index: 9999; }

.follower-point {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 30px;
  height: 30px;
  background-color: rgba(253, 254, 0, 0.5);
  z-indes: 9999;
  -webkit-transition: -webkit-transform ease .1s;
  transition: -webkit-transform ease .1s;
  transition: transform ease .1s;
  transition: transform ease .1s, -webkit-transform ease .1s;
  text-align: center; }
  .follower-point span {
    display: inline-block;
    font-size: 14px;
    font-weight: bold;
    -webkit-transform: scale(0);
        -ms-transform: scale(0);
            transform: scale(0); }
  .follower-point.is-active {
    -webkit-transform: scale(3);
        -ms-transform: scale(3);
            transform: scale(3); }

@media screen and (max-width: 896px) {
  .cursor-point,
  .follower-point {
    display: none; } }

/**
  pxをvwに変換

  @return vw
**/
/**
  とあるmedia queryの区間のフォントサイズをvwで動かす
  
  .test{
    font-size: 40px;
  }
  @media only screen and (max-width:1200px){
    .test{
      @include fs-smooth(40, 20, 1200, 768);
    }
  }
  @media only screen and (max-width:768px){
    .test{
      font-size: 20px;
    }
  }
**/
.inner {
  width: 80%;
  margin: 0 auto;
  max-width: 1440px; }

@media screen and (max-width: 1200px) {
  .inner {
    width: 90%;
    max-width: inherit; } }

.floater {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
      -ms-transform: translateY(-50%) translateX(-50%);
          transform: translateY(-50%) translateX(-50%); }

.sp-only {
  display: none; }

@media screen and (max-width: 896px) {
  .pc-only {
    display: none; }
  .sp-only {
    display: block; } }

.btn {
  position: relative;
  text-align: center;
  display: block;
  font-size: 1.6rem;
  font-weight: 600;
  padding: 30px;
  line-height: 1;
  border-bottom: 1px solid #e60012;
  border-top: 1px solid #e60012;
  background: inherit;
  overflow: hidden;
  border-radius: 0; }
  .btn span {
    -webkit-transform: translate3d(0px, 0, 0px);
            transform: translate3d(0px, 0, 0px); }
    .btn span:first-child {
      -webkit-transition: 0.2s cubic-bezier(0.79, 0.17, 0.15, 0.96);
      transition: 0.2s cubic-bezier(0.79, 0.17, 0.15, 0.96); }
    .btn span:nth-child(2) {
      -webkit-transition: 0.4s cubic-bezier(0.79, 0.17, 0.15, 0.96);
      transition: 0.4s cubic-bezier(0.79, 0.17, 0.15, 0.96); }
    .btn span:nth-child(3) {
      -webkit-transition: 0.6s cubic-bezier(0.79, 0.17, 0.15, 0.96);
      transition: 0.6s cubic-bezier(0.79, 0.17, 0.15, 0.96); }
    .btn span:nth-child(4) {
      -webkit-transition: 0.8s cubic-bezier(0.79, 0.17, 0.15, 0.96);
      transition: 0.8s cubic-bezier(0.79, 0.17, 0.15, 0.96); }
    .btn span:nth-child(5) {
      -webkit-transition: 1s cubic-bezier(0.79, 0.17, 0.15, 0.96);
      transition: 1s cubic-bezier(0.79, 0.17, 0.15, 0.96); }
    .btn span:nth-child(6) {
      -webkit-transition: 1.2s cubic-bezier(0.79, 0.17, 0.15, 0.96);
      transition: 1.2s cubic-bezier(0.79, 0.17, 0.15, 0.96); }
    .btn span:nth-child(7) {
      -webkit-transition: 1.4s cubic-bezier(0.79, 0.17, 0.15, 0.96);
      transition: 1.4s cubic-bezier(0.79, 0.17, 0.15, 0.96); }
    .btn span:nth-child(8) {
      -webkit-transition: 1.6s cubic-bezier(0.79, 0.17, 0.15, 0.96);
      transition: 1.6s cubic-bezier(0.79, 0.17, 0.15, 0.96); }
    .btn span:nth-child(9) {
      -webkit-transition: 1.8s cubic-bezier(0.79, 0.17, 0.15, 0.96);
      transition: 1.8s cubic-bezier(0.79, 0.17, 0.15, 0.96); }
    .btn span:nth-child(10) {
      -webkit-transition: 2s cubic-bezier(0.79, 0.17, 0.15, 0.96);
      transition: 2s cubic-bezier(0.79, 0.17, 0.15, 0.96); }
    .btn span:nth-child(11) {
      -webkit-transition: 2.2s cubic-bezier(0.79, 0.17, 0.15, 0.96);
      transition: 2.2s cubic-bezier(0.79, 0.17, 0.15, 0.96); }
    .btn span:nth-child(12) {
      -webkit-transition: 2.2s cubic-bezier(0.79, 0.17, 0.15, 0.96);
      transition: 2.2s cubic-bezier(0.79, 0.17, 0.15, 0.96); }
    .btn span:nth-child(13) {
      -webkit-transition: 2.2s cubic-bezier(0.79, 0.17, 0.15, 0.96);
      transition: 2.2s cubic-bezier(0.79, 0.17, 0.15, 0.96); }
    .btn span:nth-child(14) {
      -webkit-transition: 2.2s cubic-bezier(0.79, 0.17, 0.15, 0.96);
      transition: 2.2s cubic-bezier(0.79, 0.17, 0.15, 0.96); }
    .btn span:nth-child(15) {
      -webkit-transition: 2.4s cubic-bezier(0.79, 0.17, 0.15, 0.96);
      transition: 2.4s cubic-bezier(0.79, 0.17, 0.15, 0.96); }
    .btn span:nth-child(16) {
      -webkit-transition: 2.6s cubic-bezier(0.79, 0.17, 0.15, 0.96);
      transition: 2.6s cubic-bezier(0.79, 0.17, 0.15, 0.96); }
    .btn span:nth-child(17) {
      -webkit-transition: 2.8s cubic-bezier(0.79, 0.17, 0.15, 0.96);
      transition: 2.8s cubic-bezier(0.79, 0.17, 0.15, 0.96); }
    .btn span:nth-child(18) {
      -webkit-transition: 3s cubic-bezier(0.79, 0.17, 0.15, 0.96);
      transition: 3s cubic-bezier(0.79, 0.17, 0.15, 0.96); }
    .btn span:nth-child(19) {
      -webkit-transition: 3.2s cubic-bezier(0.79, 0.17, 0.15, 0.96);
      transition: 3.2s cubic-bezier(0.79, 0.17, 0.15, 0.96); }
    .btn span:nth-child(20) {
      -webkit-transition: 3.4s cubic-bezier(0.79, 0.17, 0.15, 0.96);
      transition: 3.4s cubic-bezier(0.79, 0.17, 0.15, 0.96); }
    .btn span:nth-child(21) {
      -webkit-transition: 3.6s cubic-bezier(0.79, 0.17, 0.15, 0.96);
      transition: 3.6s cubic-bezier(0.79, 0.17, 0.15, 0.96); }
  .btn:hover span {
    -webkit-transform: translate3d(0px, -5px, 0px);
            transform: translate3d(0px, -5px, 0px); }
  .btn span {
    vertical-align: middle;
    display: inline-block; }
  .btn i {
    display: block;
    position: absolute;
    right: 0;
    bottom: 10px;
    z-index: 1; }
  .btn .icon-arrow_right {
    color: #ffffff;
    right: auto;
    bottom: auto; }
  .btn .icon-area {
    vertical-align: middle;
    display: inline-block;
    margin: 0 5px 0 0;
    width: 24px;
    height: 24px;
    position: relative;
    border-radius: 100px;
    background: #e60012; }
    .btn .icon-area i {
      color: #ffffff; }

@media screen and (max-width: 1200px) {
  .btn {
    font-size: 1.33333vw;
    padding: 2.5vw; }
    .btn i {
      bottom: 0.83333vw; }
    .btn .icon-area {
      margin-right: 0.41667vw;
      width: 2vw;
      height: 2vw; } }

@media screen and (max-width: 896px) {
  .btn {
    font-size: 3.57143vw;
    padding: 3.34821vw; }
    .btn i {
      bottom: 1.11607vw; }
    .btn .icon-area {
      margin-right: 0.55804vw;
      width: 6.69643vw;
      height: 6.69643vw; } }

@media screen and (max-width: 414px) {
  .btn {
    font-size: 16px;
    padding: 30px; }
    .btn i {
      font-size: 14px;
      bottom: 10px; }
    .btn .icon-area {
      width: 22px;
      height: 22px; }
      .btn .icon-area i {
        font-size: 10px; } }

.thumbnail-btn {
  position: relative;
  display: block; }

.movie-btn {
  display: block;
  width: 95px;
  height: 95px;
  border-radius: 600px;
  background-color: #ffffff;
  color: #e60012;
  overflow: hidden;
  border: 4px solid #e60012;
  z-index: 9;
  -webkit-transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: 0.5s cubic-bezier(0.165, 0.84, 0.44, 1); }
  .movie-btn-in {
    position: relative;
    height: 100%;
    background-color: #ffffff;
    width: 100%; }
    .movie-btn-in .en {
      font-size: 2rem;
      z-index: 2; }
    .movie-btn-in i {
      z-index: 1;
      font-size: 4rem;
      color: #ffe7e9; }

@media screen and (max-width: 1200px) {
  .movie-btn {
    width: 7.91667vw;
    height: 7.91667vw; }
    .movie-btn-in .en {
      font-size: 1.66667vw; }
    .movie-btn-in i {
      font-size: 3.33333vw; } }

@media screen and (max-width: 896px) {
  .movie-btn {
    width: 12.5vw;
    height: 12.5vw; }
    .movie-btn-in .en {
      font-size: 2.5vw; }
    .movie-btn-in i {
      font-size: 5vw; } }

@media screen and (max-width: 414px) {
  .movie-btn {
    width: 70px;
    height: 70px; }
    .movie-btn-in .en {
      font-size: 14px; }
    .movie-btn-in i {
      font-size: 30px; } }

html,
body {
  width: 100%;
  height: 100%;
  margin: 0; }

body {
  position: relative;
  cursor: none; }

/*# sourceMappingURL=../cssmap/common.css.map */
