@charset "UTF-8";
/*--------------------- .top_mv ---------------------*/
.topMv {
  height: calc(100vh - 180px);
  width: 100%;
  position: relative;
  min-height: 500px;
  overflow: hidden; }
  @media only screen and (max-width: 960px) {
    .topMv {
      height: calc(100vh - 120px);
      background-image: url("../img/top_mv_img01_sp.jpg");
      min-height: inherit;
      background-size: cover; } }
  .topMv__ttl {
    position: absolute;
    left: 3vw;
    bottom: 60px;
    min-width: 500px;
    max-width: 800px;
    width: 39vw; }
    @media only screen and (max-width: 960px) {
      .topMv__ttl {
        min-width: inherit;
        width: 75%;
        left: 50%;
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        transform: translateX(-50%); } }
    @media only screen and (max-width: 600px) {
      .topMv__ttl {
        width: 90%; } }
  .topMv__imgArea {
    position: relative; }
  .topMv__letter {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%; }
  .topMv__mv {
    position: absolute;
    width: 50%;
    height: 100%;
    top: 0;
    background-size: cover !important; }
    @media only screen and (max-width: 960px) {
      .topMv__mv {
        display: none; } }
    .topMv__mv.left {
      background: url("../img/top_mv_img02_sp.jpg") no-repeat center top;
      left: 0; }
    .topMv__mv.right {
      background: url("../img/top_mv_img01_sp.jpg") no-repeat center top;
      right: 0; }

print .topMv {
  background-size: inherit !important;
  max-height: 800px; }

/*--------------------- top slider ---------------------*/
.topSlider {
  padding: 95px 20px 85px; }
  @media only screen and (max-width: 768px) {
    .topSlider {
      padding: 50px 20px 30px; } }
  .topSlider__inner {
    max-width: 1180px;
    margin: auto;
    padding: 0 40px; }
    @media only screen and (max-width: 768px) {
      .topSlider__inner {
        padding: 0 15px; } }
  .topSlider__slideInner {
    -js-display: flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    @media only screen and (max-width: 768px) {
      .topSlider__slideInner {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column; } }
  .topSlider__slideR {
    height: 460px;
    width: 50%;
    -js-display: flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    background-color: #e94f81; }
    @media only screen and (max-width: 768px) {
      .topSlider__slideR {
        width: 100%;
        height: 200px;
        padding: 15px; } }
    .topSlider__slideR.color01 {
      background-color: #e94f81; }
    .topSlider__slideR.color02 {
      background-color: #45bdcf; }
    .topSlider__slideR.color03 {
      background-color: #01b901; }
    .topSlider__slideR.color04 {
      background-color: #f08307; }
    .topSlider__slideR.color05 {
      background-color: #0062ad; }
  .topSlider__slideL {
    background-size: cover !important;
    width: 50%; }
    @media only screen and (max-width: 768px) {
      .topSlider__slideL {
        width: 100%;
        height: 71vw; } }
  .topSlider__txtArea {
    text-align: center;
    padding: 0 20px; }
  .topSlider__head {
    font-size: 35px;
    color: white;
    font-weight: bold;
    text-align: center;
    margin-bottom: 5px;
    line-height: 1.3;
    letter-spacing: 0.03em;
    font-family: 'Kosugi', "A-OTF 新ゴ Pro", A-OTF Shin Go Pro, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }
    @media only screen and (max-width: 800px) {
      .topSlider__head {
        font-size: 26px; } }
    @media only screen and (max-width: 500px) {
      .topSlider__head {
        font-size: 20px;
        line-height: 1.2; } }
    @media only screen and (max-width: 350px) {
      .topSlider__head {
        font-size: 18px; } }
  .topSlider__subHead {
    font-size: 25px;
    color: white;
    text-align: center;
    letter-spacing: 0.1em;
    font-family: 'Kosugi', "A-OTF 新ゴ Pro", A-OTF Shin Go Pro, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }
    @media only screen and (max-width: 768px) {
      .topSlider__subHead {
        font-size: 15px;
        margin: 0px 0 15px; } }

.mvSlider img {
  display: block;
  margin: auto;
  width: 100%; }

.slick-next:before {
  content: url("../cmn/cmn_img/sliderR.svg"); }

.slick-prev:before {
  content: url("../cmn/cmn_img/sliderL.svg"); }

.slick-dotted.slick-slider {
  margin-bottom: 0; }

.slick-next {
  right: -35px; }
  @media only screen and (max-width: 768px) {
    .slick-next {
      right: -25px;
      -webkit-transform: scale(0.8) translate(0, -70%);
      -ms-transform: scale(0.8) translate(0, -70%);
      transform: scale(0.8) translate(0, -70%); } }

.slick-prev {
  left: -35px; }
  @media only screen and (max-width: 768px) {
    .slick-prev {
      left: -25px;
      -webkit-transform: scale(0.8) translate(0, -70%);
      -ms-transform: scale(0.8) translate(0, -70%);
      transform: scale(0.8) translate(0, -70%); } }

.slick-dots li button:before {
  content: "";
  background-color: black;
  width: 10px;
  height: 10px; }

.slick-dots {
  position: absolute;
  bottom: -65px; }
  @media only screen and (max-width: 768px) {
    .slick-dots {
      display: none !important; } }

/*--------------------- top 3 points ---------------------*/
.top3pts {
  padding: 45px 20px 10px; }
  @media only screen and (max-width: 768px) {
    .top3pts {
      padding: 20px 20px 0px; } }
  .top3pts__inner {
    max-width: 1185px;
    margin: auto; }
  .top3pts__ttlArea {
    display: block;
    text-align: center; }
  .top3pts__ttl {
    text-align: center;
    display: inline-block;
    position: relative;
    margin-bottom: 65px; }
    .top3pts__ttl img {
      position: absolute;
      right: -65px;
      top: 6px; }
      @media only screen and (max-width: 768px) {
        .top3pts__ttl img {
          right: -19px;
          top: -32px; } }
    .top3pts__ttl .up {
      font-size: 31px;
      display: block;
      text-align: center;
      margin-bottom: 5px;
      letter-spacing: 0.15em;
      font-weight: normal; }
      @media only screen and (max-width: 768px) {
        .top3pts__ttl .up {
          font-size: 15px; } }
    .top3pts__ttl .down {
      font-size: 46px;
      text-align: center;
      margin-bottom: 5px;
      letter-spacing: 0.05em;
      font-weight: bold;
      line-height: 25px; }
      @media only screen and (max-width: 768px) {
        .top3pts__ttl .down {
          font-size: 22px;
          line-height: 10px; } }
  .top3pts .number {
    font-size: 62px;
    text-align: center;
    margin-bottom: 5px;
    letter-spacing: 0px;
    font-weight: bold;
    color: #ed7433;
    line-height: 25px; }
    @media only screen and (max-width: 768px) {
      .top3pts .number {
        font-size: 28px;
        line-height: 10px; } }
  .top3pts__subTtl {
    font-size: 22px;
    text-align: center;
    letter-spacing: 0.02em;
    line-height: 1.8; }
    @media only screen and (max-width: 768px) {
      .top3pts__subTtl {
        font-size: 14px; } }
  .top3pts__ptsArea {
    -js-display: flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 40px auto 50px; }
    @media only screen and (max-width: 768px) {
      .top3pts__ptsArea {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        margin: 30px auto 20px;
        max-width: 530px; } }
  .top3pts__pts {
    width: 32.8%;
    -webkit-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out; }
    .top3pts__pts:hover {
      -webkit-filter: opacity(0.6);
      filter: opacity(0.6); }
    @media only screen and (max-width: 768px) {
      .top3pts__pts {
        width: 100%;
        margin-bottom: 25px; } }
    .top3pts__pts.pts01 {
      border-top: 25px solid #ed7433;
      background: #f4a238;
      background: -webkit-gradient(linear, left top, right top, from(#f4a238), to(#ed7433));
      background: -webkit-linear-gradient(left, #f4a238 0%, #ed7433 100%);
      background: -o-linear-gradient(left, #f4a238 0%, #ed7433 100%);
      background: linear-gradient(90deg, #f4a238 0%, #ed7433 100%); }
      @media only screen and (max-width: 768px) {
        .top3pts__pts.pts01 {
          border-top: 18px solid #ed7433; } }
    .top3pts__pts.pts02 {
      border-top: 25px solid #10386b;
      background: #0071a7;
      background: -webkit-gradient(linear, left top, right top, from(#0071a7), to(#003656));
      background: -webkit-linear-gradient(left, #0071a7 0%, #003656 100%);
      background: -o-linear-gradient(left, #0071a7 0%, #003656 100%);
      background: linear-gradient(90deg, #0071a7 0%, #003656 100%); }
      @media only screen and (max-width: 768px) {
        .top3pts__pts.pts02 {
          border-top: 18px solid #10386b; } }
    .top3pts__pts.pts03 {
      border-top: 25px solid #d41e79;
      background: #f09cb1;
      background: -webkit-gradient(linear, left top, right top, from(#f09cb1), to(#e4005c));
      background: -webkit-linear-gradient(left, #f09cb1 0%, #e4005c 100%);
      background: -o-linear-gradient(left, #f09cb1 0%, #e4005c 100%);
      background: linear-gradient(90deg, #f09cb1 0%, #e4005c 100%); }
      @media only screen and (max-width: 768px) {
        .top3pts__pts.pts03 {
          border-top: 18px solid #d41e79; } }
  .top3pts__ptsTtl {
    font-size: 32px;
    text-align: center;
    line-height: 1.4;
    color: white;
    letter-spacing: 0;
    font-weight: bold;
    padding: 35px 30px 35px 5px;
    position: relative;
    font-family: 'Kosugi', "A-OTF 新ゴ Pro", A-OTF Shin Go Pro, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }
    @media only screen and (max-width: 960px) {
      .top3pts__ptsTtl {
        font-size: 24px; } }
    @media only screen and (max-width: 768px) {
      .top3pts__ptsTtl {
        padding: 25px 25px 25px 5px; } }
    .top3pts__ptsTtl::after {
      content: url("../cmn/cmn_img/arrow2R.svg");
      width: 10px;
      right: 20px;
      top: 35px;
      position: absolute; }
      @media only screen and (max-width: 768px) {
        .top3pts__ptsTtl::after {
          top: 25px;
          right: 15px; } }
    .top3pts__ptsTtl img {
      width: 115px;
      position: absolute;
      left: 0;
      bottom: 0;
      opacity: 0.5; }
      @media only screen and (max-width: 768px) {
        .top3pts__ptsTtl img {
          width: 90px; } }

/*--------------------- top news ---------------------*/
.topNews {
  padding: 25px 20px 45px; }
  .topNews__inner {
    max-width: 850px;
    margin: auto; }
    @media only screen and (max-width: 768px) {
      .topNews__inner {
        max-width: 530px; } }
  .topNews__ttlArea {
    display: block;
    text-align: center; }
  .topNews__ttl {
    font-weight: bold;
    font-size: 39px;
    text-align: center;
    display: inline-block;
    position: relative;
    letter-spacing: 0.15em; }
    @media only screen and (max-width: 768px) {
      .topNews__ttl {
        font-size: 27px; } }
    .topNews__ttl img {
      position: absolute;
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      width: 350px;
      max-width: inherit;
      top: 50%;
      left: 50%; }
      @media only screen and (max-width: 768px) {
        .topNews__ttl img {
          width: 240px; } }
    .topNews__ttl span {
      font-family: 'Lato', sans-serif;
      color: #f08307;
      font-size: 36px;
      display: block;
      font-weight: 400;
      line-height: 1.3;
      letter-spacing: 0.15em; }
      @media only screen and (max-width: 768px) {
        .topNews__ttl span {
          font-size: 22px;
          line-height: 1.2; } }
  .topNews__tbl {
    width: 100%;
    margin: 50px 0 50px; }
    @media only screen and (max-width: 768px) {
      .topNews__tbl {
        margin: 30px 0 20px; } }
    .topNews__tbl th,
    .topNews__tbl td {
      padding: 10px 0;
      letter-spacing: 0.05em;
      font-size: 20px;
      line-height: 1.4; }
      @media only screen and (max-width: 768px) {
        .topNews__tbl th,
        .topNews__tbl td {
          display: block;
          padding: 1px 0 !important;
          font-size: 14px; } }
    .topNews__tbl th {
      width: 88px; }
      .topNews__tbl th span {
        background-color: #f08307;
        font-family: 'Lato', sans-serif;
        font-style: italic;
        color: white;
        display: block;
        line-height: 21px;
        font-size: 12px; }
    .topNews__tbl td {
      vertical-align: top; }
    .topNews__tbl .time {
      width: 160px;
      text-align: center; }
      @media only screen and (max-width: 768px) {
        .topNews__tbl .time {
          text-align: left !important; } }
    .topNews__tbl .title {
      width: calc(100% - 248px);
      padding-left: 7px;
      padding-right: 7px; }
      @media only screen and (max-width: 768px) {
        .topNews__tbl .title {
          width: 100%;
          padding-bottom: 15px !important; } }
      .topNews__tbl .title a {
        -webkit-transition: all .3s ease-in-out;
        -o-transition: all .3s ease-in-out;
        transition: all .3s ease-in-out; }
        .topNews__tbl .title a:hover {
          -webkit-filter: opacity(0.6);
          filter: opacity(0.6); }

/*--------------------- top calendar ---------------------*/
.topCal {
  padding: 65px 100px;
  background-color: #f8e9a8; }
  @media only screen and (max-width: 768px) {
    .topCal {
      padding: 50px 20px; } }
  .topCal__ttlArea {
    display: block;
    text-align: center;
    margin: 0 auto 35px;
    z-index: 2; }
    @media only screen and (max-width: 768px) {
      .topCal__ttlArea {
        margin: 00px auto 50px; } }
  .topCal__inner {
    max-width: 1200px;
    margin: auto; }
  .topCal__ttl {
    font-weight: bold;
    font-size: 37px;
    text-align: center;
    display: inline-block;
    position: relative;
    padding: 0 150px; }
    @media only screen and (max-width: 768px) {
      .topCal__ttl {
        font-size: 27px;
        padding: 0 20px; } }
    .topCal__ttl img {
      position: absolute;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%);
      max-width: inherit;
      top: 50%; }
      .topCal__ttl img.left {
        width: 200px;
        left: -100px;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
        /*@media only screen and (min-width: 768px) {
	width: 60%;
	top:70px;
	left:-200px;
} */ }
        @media only screen and (max-width: 414px) {
          .topCal__ttl img.left {
            width: 40%;
            top: 105px;
            left: -35px;
            border: none; } }
    .topCal__ttl span {
      font-family: 'Lato', sans-serif;
      color: #f08307;
      font-size: 36px;
      display: block;
      font-weight: 400;
      line-height: 1.3;
      letter-spacing: 0.15em; }
      @media only screen and (max-width: 1000px) {
        .topCal__ttl span {
          font-size: 28px;
          line-height: 1.2; } }
      @media only screen and (max-width: 768px) {
        .topCal__ttl span {
          font-size: 22px; } }
      .topCal__ttl span span {
        display: none; }
        @media only screen and (max-width: 1000px) {
          .topCal__ttl span span {
            display: inline; } }
  .topCal__calArea {
    position: relative; }
  .topCal__btnArea {
    position: absolute;
    right: 15px;
    top: -10px;
    -webkit-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    transform: translateY(-100%); }
    @media only screen and (max-width: 768px) {
      .topCal__btnArea {
        right: 0px;
        top: 10px; } }
  .topCal__month {
    font-size: 15px;
    text-align: center;
    position: relative;
    padding: 0 40px; }
    @media only screen and (max-width: 768px) {
      .topCal__month {
        font-size: 12px;
        padding: 0 20px; } }
    .topCal__month span {
      font-size: 56px;
      display: block;
      line-height: 55px; }
      @media only screen and (max-width: 768px) {
        .topCal__month span {
          font-size: 32px;
          line-height: 28px; } }
  .topCal__btn {
    position: absolute;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    top: 50%; }
    .topCal__btn.cal-prev {
      left: 0px; }
    .topCal__btn.cal-next {
      right: 0px; }
    .topCal__btn img {
      width: 11px; }
      @media only screen and (max-width: 768px) {
        .topCal__btn img {
          width: 9px; } }
  .topCal__calendar {
    width: 100%; }
    @media only screen and (max-width: 768px) {
      .topCal__calendar {
        /*min-width: 600px;*/ } }
    .topCal__calendar th {
      background-color: #f08307;
      color: white;
      border: 1px solid white;
      letter-spacing: 0;
      font-size: 17px;
      text-align: center;
      padding: 5px 5px;
      line-height: 1.4;
      width: 14.285714%;
      font-weight: normal; }
    .topCal__calendar td {
      background-color: white;
      color: #cdcdcd;
      border: 1px solid black;
      font-size: 28px;
      text-align: right;
      line-height: 1.4;
      height: 107px;
      padding: 10px 10px;
      vertical-align: top; }
      @media only screen and (max-width: 768px) {
        .topCal__calendar td {
          height: 65px;
          padding: 4px 4px;
          font-size: 20px; } }
      .topCal__calendar td a {
        display: block;
        background-color: #d66a42;
        font-size: 14px;
        color: white;
        padding: 3px 2px 4px;
        text-align: center;
        border-radius: 8px;
        margin: 2px 0 4px;
        line-height: 1.1;
        letter-spacing: 0;
        -webkit-transition: all .3s ease-in-out;
        -o-transition: all .3s ease-in-out;
        transition: all .3s ease-in-out; }
        .topCal__calendar td a:hover {
          -webkit-filter: opacity(0.6);
          filter: opacity(0.6); }
        @media only screen and (max-width: 768px) {
          .topCal__calendar td a {
            font-size: 10px; } }

.cat-01 {
  background-color: #e94f81 !important; }

.cat-02 {
  background-color: #45bdcf !important; }

.cat-03 {
  background-color: #0062ad !important; }

.cat-04 {
  background-color: #f08307 !important; }

.cat-05 {
  background-color: #3ab667 !important; }

.cat-06 {
  background-color: #888 !important; }

/*--------------------- calendar Modal---------------------*/
.remodal {
  text-align: left; }
  @media only screen and (max-width: 768px) {
    .remodal {
      padding: 35px 20px; } }
  .remodal__cat {
    text-align: center; }
    .remodal__cat span {
      background-color: #d66a42;
      display: inline-block;
      font-size: 13px;
      color: white;
      padding: 3px 20px 4px;
      text-align: center;
      border-radius: 15px;
      line-height: 1.3;
      letter-spacing: 0; }
  .remodal__ttl {
    margin: 7px 0 0px;
    font-size: 35px;
    line-height: 1.5;
    text-align: center;
    color: #10386b;
    letter-spacing: 0.03em; }
    @media only screen and (max-width: 768px) {
      .remodal__ttl {
        font-size: 25px; } }
  .remodal__time {
    font-size: 14px;
    text-align: center; }
    .remodal__time span {
      padding-left: 10px;
      font-size: 16px;
      font-weight: bold; }
  .remodal__content {
    font-size: 16px; }
    @media only screen and (max-width: 768px) {
      .remodal__content {
        font-size: 14px; } }
  .remodal .index_btn {
    margin: 30px auto 0;
    min-width: 330px; }
    @media only screen and (max-width: 768px) {
      .remodal .index_btn {
        width: 100%;
        min-width: inherit; } }
    .remodal .index_btn a {
      padding: 7px 65px 7px 20px;
      font-size: 22px;
      line-height: 1.2; }
      @media only screen and (max-width: 768px) {
        .remodal .index_btn a {
          font-size: 16px;
          padding: 10px 45px 10px 20px; } }
  .remodal .ttl03 {
    margin: 20px auto 10px; }

/*--------------------- top campus---------------------*/
.topCampus__imgArea {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  @media only screen and (max-width: 768px) {
    .topCampus__imgArea {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column; } }

.topCampus__img {
  width: 50%; }
  @media only screen and (max-width: 768px) {
    .topCampus__img {
      width: 100%; } }

.topCampus__btn a {
  background: #f5a85f;
  background: -webkit-gradient(linear, left top, right top, from(#f5a85f), to(#e73f90));
  background: -webkit-linear-gradient(left, #f5a85f 0%, #e73f90 100%);
  background: -o-linear-gradient(left, #f5a85f 0%, #e73f90 100%);
  background: linear-gradient(90deg, #f5a85f 0%, #e73f90 100%);
  padding: 35px 20px 35px;
  display: block;
  text-align: center;
  padding-right: 150px;
  -webkit-transition: all .3s ease-in-out;
  -o-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out; }
  @media only screen and (max-width: 1000px) {
    .topCampus__btn a {
      padding: 27px 10px 27px;
      padding-right: 110px; } }
  @media only screen and (max-width: 768px) {
    .topCampus__btn a {
      padding: 15px 10px 15px;
      padding-right: 10vw; } }
  .topCampus__btn a:hover {
    -webkit-filter: opacity(0.6);
    filter: opacity(0.6); }
  .topCampus__btn a span {
    font-size: 37px;
    line-height: 1.6;
    position: relative;
    color: white;
    font-weight: bold;
    letter-spacing: 0.1em;
    font-family: 'Kosugi', "A-OTF 新ゴ Pro", A-OTF Shin Go Pro, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }
    @media only screen and (max-width: 1000px) {
      .topCampus__btn a span {
        font-size: 28px;
        line-height: 1.4; } }
    @media only screen and (max-width: 768px) {
      .topCampus__btn a span {
        font-size: 4.5vw; } }
    .topCampus__btn a span img {
      position: absolute;
      top: 50%;
      right: -150px;
      width: 90px;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%); }
      @media only screen and (max-width: 1000px) {
        .topCampus__btn a span img {
          right: -110px;
          width: 75px; } }
      @media only screen and (max-width: 768px) {
        .topCampus__btn a span img {
          right: -10vw;
          width: 7vw; } }

/*--------------------- top Intro---------------------*/
.bgLine {
  background-image: url("../cmn/cmn_img/bg_line.jpg");
  background-repeat: repeat; }

.topIntro {
  padding: 70px 0px; }
  @media only screen and (max-width: 768px) {
    .topIntro {
      padding: 50px 20px; } }
  .topIntro__inner {
    max-width: 1440px;
    margin: auto; }
  .topIntro__ttlArea {
    display: block;
    text-align: center;
    margin: 83px auto 52px; }
    @media only screen and (max-width: 768px) {
      .topIntro__ttlArea {
        margin: 100px auto 30px; } }
  .topIntro__ttl {
    font-weight: bold;
    font-size: 37px;
    text-align: center;
    display: inline-block;
    position: relative;
    padding: 0 150px; }
    @media only screen and (max-width: 768px) {
      .topIntro__ttl {
        font-size: 27px;
        padding: 0 20px; } }
    .topIntro__ttl img {
      position: absolute;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%);
      max-width: inherit;
      top: 50%; }
      .topIntro__ttl img.left {
        width: 107px;
        left: 0; }
        @media only screen and (max-width: 768px) {
          .topIntro__ttl img.left {
            width: 60px;
            top: 75%;
            left: 4px; } }
      .topIntro__ttl img.right {
        width: 140px;
        right: 0; }
        @media only screen and (max-width: 768px) {
          .topIntro__ttl img.right {
            width: 80px;
            top: -51%;
            -webkit-transform: translateX(50%);
            -ms-transform: translateX(50%);
            transform: translateX(50%);
            right: 50%; } }
    .topIntro__ttl span {
      font-family: 'Lato', sans-serif;
      color: #f08307;
      font-size: 36px;
      display: block;
      font-weight: 400;
      line-height: 1.3;
      letter-spacing: 0.15em; }
      @media only screen and (max-width: 1000px) {
        .topIntro__ttl span {
          font-size: 28px;
          line-height: 1.2; } }
      @media only screen and (max-width: 768px) {
        .topIntro__ttl span {
          font-size: 22px; } }
      .topIntro__ttl span span {
        display: none; }
        @media only screen and (max-width: 1000px) {
          .topIntro__ttl span span {
            display: inline; } }
  .topIntro__depArea {
    -js-display: flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    background-color: white; }
  .topIntro__dep {
    width: 49.5%;
    -webkit-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out; }
    .topIntro__dep:hover {
      -webkit-filter: opacity(0.6);
      filter: opacity(0.6); }
    @media only screen and (max-width: 768px) {
      .topIntro__dep {
        width: 98.0%;
        margin-bottom: 5px; } }
  .topIntro__depTtl {
    font-weight: bold;
    font-size: 31px;
    position: relative;
    font-family: 'Kosugi', "A-OTF 新ゴ Pro", A-OTF Shin Go Pro, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    -js-display: flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    height: 7.639vw;
    max-height: 110px;
    width: 100%;
    color: white;
    z-index: 1;
    line-height: 1.3;
    margin-top: 10px;
    overflow: hidden; }
    @media only screen and (max-width: 1200px) {
      .topIntro__depTtl {
        font-size: 2.3vw; } }
    @media only screen and (max-width: 768px) {
      .topIntro__depTtl {
        margin-top: 5px;
        font-size: 4.3vw;
        height: 14.6vw; } }
    .topIntro__depTtl::after {
      content: url("../cmn/cmn_img/arrow2R.svg");
      width: 10px;
      right: 20px;
      top: 50%;
      position: absolute;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%); }
      @media only screen and (max-width: 768px) {
        .topIntro__depTtl::after {
          width: 7px;
          right: 10px; } }
    .topIntro__depTtl img {
      position: absolute;
      max-width: inherit;
      top: 0;
      left: 0;
      z-index: -1; }

/*--------------------- top contents---------------------*/
.topContents {
  padding: 25px 0px 0; }
  .topContents__ttlArea {
    display: block;
    text-align: center;
    margin: 0 auto 40px; }
  .topContents__ttl {
    font-weight: bold;
    font-size: 39px;
    text-align: center;
    display: inline-block;
    position: relative;
    padding: 0 140px; }
    .topContents__ttl br {
      display: none; }
      @media only screen and (max-width: 768px) {
        .topContents__ttl br {
          display: inline; } }
    @media only screen and (max-width: 768px) {
      .topContents__ttl {
        padding: 0 30px;
        font-size: 27px;
        line-height: 1.2; } }
    .topContents__ttl img {
      position: absolute;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%);
      max-width: inherit;
      top: 50%; }
      .topContents__ttl img.left {
        width: 117px;
        left: 0; }
        @media only screen and (max-width: 768px) {
          .topContents__ttl img.left {
            width: 75px;
            left: -40px; } }
      .topContents__ttl img.right {
        width: 67px;
        right: 40px; }
        @media only screen and (max-width: 768px) {
          .topContents__ttl img.right {
            width: 47px;
            right: -11px; } }
    .topContents__ttl span {
      font-family: 'Lato', sans-serif;
      color: #f08307;
      font-size: 36px;
      display: block;
      font-weight: 400;
      line-height: 1.4;
      letter-spacing: 0.15em; }
      @media only screen and (max-width: 1000px) {
        .topContents__ttl span {
          font-size: 28px; } }
      @media only screen and (max-width: 768px) {
        .topContents__ttl span {
          font-size: 22px; } }
  .topContents__contArea {
    max-width: 1440px;
    margin: auto;
    -js-display: flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
  .topContents__col {
    width: 25%; }
    @media only screen and (max-width: 768px) {
      .topContents__col {
        width: 50%; } }
  .topContents__contImg {
    overflow: hidden;
    position: relative;
    height: 360px;
    -js-display: flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    border: 1px solid white;
    z-index: 1; }
    @media only screen and (max-width: 768px) {
      .topContents__contImg {
        height: 50vw; } }
    .topContents__contImg:hover .topContents__contImg__img {
      -webkit-transform: scale(1.1);
      -ms-transform: scale(1.1);
      transform: scale(1.1); }
    .topContents__contImg:hover .topContents__contImg__img:before,
    .topContents__contImg:active .topContents__contImg__img:before {
      background-color: rgba(255, 255, 255, 0.1); }
    .topContents__contImg__img {
      background-size: cover !important;
      height: 100%;
      width: 100%;
      position: absolute;
      left: 0;
      top: 0;
      z-index: -1;
      -webkit-transition: all .3s ease-in-out;
      -o-transition: all .3s ease-in-out;
      transition: all .3s ease-in-out; }
      .topContents__contImg__img::before {
        content: "";
        height: 100%;
        width: 100%;
        position: absolute;
        top: 0;
        left: 0;
        background-color: rgba(255, 255, 255, 0);
        -webkit-transition: all .5s ease-in-out;
        -o-transition: all .5s ease-in-out;
        transition: all .5s ease-in-out; }
    .topContents__contImg__ttl {
      font-size: 30px;
      color: white;
      text-align: center;
      line-height: 1.3;
      font-weight: bold;
      letter-spacing: 0.03em; }
      @media only screen and (max-width: 768px) {
        .topContents__contImg__ttl {
          font-size: 4.7vw; } }
  .topContents__contTxt {
    background-color: #45bdcf !important;
    height: 360px;
    border: 1px solid white;
    display: block;
    padding: 15px;
    -webkit-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out; }
    @media only screen and (max-width: 768px) {
      .topContents__contTxt {
        height: 50vw; } }
    .topContents__contTxt:hover {
      background-color: white !important; }
      .topContents__contTxt:hover .topContents__contTxt__ttl {
        color: #45bdcf; }
    .topContents__contTxt__ttl {
      font-size: 30px;
      -js-display: flex;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      color: white;
      text-align: center;
      line-height: 1.3;
      font-weight: bold;
      letter-spacing: 0.03em;
      width: 100%;
      height: 100%;
      border: 1px solid #45bdcf;
      -webkit-transition: all .3s ease-in-out;
      -o-transition: all .3s ease-in-out;
      transition: all .3s ease-in-out; }
      @media only screen and (max-width: 768px) {
        .topContents__contTxt__ttl {
          font-size: 4.7vw; } }

/*---------------------TOP OFFICIAL ACCOUNT---------------------*/
.topAccnt {
  background-image: url("../cmn/cmn_img/bg_point.jpg");
  background-repeat: repeat;
  padding: 90px 20px 90px; }
  @media only screen and (max-width: 768px) {
    .topAccnt {
      padding: 70px 20px 50px; } }
  .topAccnt__inner {
    max-width: 1100px;
    margin: auto; }
  .topAccnt__ttlArea {
    display: block;
    text-align: center;
    margin: 0 auto 50px; }
  .topAccnt__ttl {
    font-weight: bold;
    font-size: 39px;
    text-align: center;
    display: inline-block;
    position: relative;
    padding: 0 150px; }
    .topAccnt__ttl br {
      display: none; }
      @media only screen and (max-width: 768px) {
        .topAccnt__ttl br {
          display: inline; } }
    @media only screen and (max-width: 768px) {
      .topAccnt__ttl {
        padding: 0 30px;
        font-size: 27px;
        line-height: 1.3; } }
    .topAccnt__ttl img {
      position: absolute;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%);
      max-width: inherit;
      top: 50%; }
      .topAccnt__ttl img.left {
        width: 82px;
        left: 0; }
        @media only screen and (max-width: 768px) {
          .topAccnt__ttl img.left {
            width: 60px;
            left: -4px; } }
      .topAccnt__ttl img.right {
        width: 104px;
        right: 0; }
        @media only screen and (max-width: 768px) {
          .topAccnt__ttl img.right {
            width: 70px;
            right: -6px;
            top: -6px;
            -webkit-transform: rotate(-57deg);
            -ms-transform: rotate(-57deg);
            transform: rotate(-57deg); } }
    .topAccnt__ttl span {
      font-family: 'Lato', sans-serif;
      color: #f08307;
      font-size: 36px;
      display: block;
      font-weight: 400;
      line-height: 1.3;
      letter-spacing: 0.15em; }
      @media only screen and (max-width: 1000px) {
        .topAccnt__ttl span {
          font-size: 28px;
          line-height: 1.2; } }
      @media only screen and (max-width: 768px) {
        .topAccnt__ttl span {
          font-size: 22px; } }
  .topAccnt__acctArea {
    -js-display: flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    @media only screen and (max-width: 768px) {
      .topAccnt__acctArea {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column; } }
  .topAccnt__acct {
    width: 48.5%;
    padding: 55px 35px 60px;
    border-radius: 0 0 50px 0; }
    @media only screen and (max-width: 768px) {
      .topAccnt__acct {
        width: 100%;
        padding: 35px 17px 40px;
        margin-bottom: 25px; } }
    .topAccnt__acct__ttl {
      font-size: 26px;
      font-family: 'Kosugi', "A-OTF 新ゴ Pro", A-OTF Shin Go Pro, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
      line-height: 35px;
      color: white;
      padding-left: 110px;
      position: relative;
      letter-spacing: 0.05em;
      font-weight: bold; }
      @media only screen and (max-width: 768px) {
        .topAccnt__acct__ttl {
          padding-left: 60px;
          font-size: 20px; } }
      .topAccnt__acct__ttl span {
        font-size: 38px;
        font-family: 'Josefin Sans', sans-serif;
        font-weight: bold;
        display: block;
        margin-bottom: 7px; }
        @media only screen and (max-width: 500px) {
          .topAccnt__acct__ttl span {
            font-size: 32px; } }
      .topAccnt__acct__ttl img {
        width: 75px;
        position: absolute;
        top: 0;
        left: 0; }
        @media only screen and (max-width: 768px) {
          .topAccnt__acct__ttl img {
            width: 50px; } }
    .topAccnt__acct__p {
      font-size: 20px;
      letter-spacing: 0.05em;
      margin: 30px 0 30px; }
      @media only screen and (max-width: 768px) {
        .topAccnt__acct__p {
          font-size: 15px;
          margin: 15px 0 15px; } }
    .topAccnt__acct.blog {
      background: #ea6604;
      background: -webkit-linear-gradient(315deg, #ea6604 0%, #ea6604 11%, #f08307 11%, #f08307 65%, #ea6604 65%, #ea6604 100%);
      background: -o-linear-gradient(315deg, #ea6604 0%, #ea6604 11%, #f08307 11%, #f08307 65%, #ea6604 65%, #ea6604 100%);
      background: linear-gradient(135deg, #ea6604 0%, #ea6604 11%, #f08307 11%, #f08307 65%, #ea6604 65%, #ea6604 100%); }
    .topAccnt__acct.twitter {
      background: #1186ed;
      background: -webkit-linear-gradient(315deg, #1186ed 0%, #1186ed 11%, #1da1f3 11%, #1da1f3 65%, #1186ed 65%, #1186ed 100%);
      background: -o-linear-gradient(315deg, #1186ed 0%, #1186ed 11%, #1da1f3 11%, #1da1f3 65%, #1186ed 65%, #1186ed 100%);
      background: linear-gradient(135deg, #1186ed 0%, #1186ed 11%, #1da1f3 11%, #1da1f3 65%, #1186ed 65%, #1186ed 100%); }
  .topAccnt__blogArea {
    -js-display: flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    @media only screen and (max-width: 500px) {
      .topAccnt__blogArea {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column; } }
  .topAccnt__blog {
    width: 48.5%;
    -webkit-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out; }
    .topAccnt__blog:hover {
      opacity: 0.6; }
    @media only screen and (max-width: 500px) {
      .topAccnt__blog {
        width: 100%;
        margin-bottom: 15px; } }
    .topAccnt__blog__img {
      position: relative;
      margin-bottom: 15px;
      background-size: cover !important;
      height: 19.5vw;
      max-height: 225px; }
      @media only screen and (max-width: 768px) {
        .topAccnt__blog__img {
          height: 41vw;
          max-height: inherit; } }
      @media only screen and (max-width: 500px) {
        .topAccnt__blog__img {
          height: 73vw; } }
    .topAccnt__blog__cat {
      font-size: 13px;
      font-weight: bold;
      position: absolute;
      left: 0;
      bottom: 0;
      background-color: #d66a42;
      line-height: 25px;
      padding: 0 10px;
      color: white; }
      .topAccnt__blog__cat.cat-01 {
        background-color: #d66a42; }
      .topAccnt__blog__cat.cat-02 {
        background-color: #076683; }
      .topAccnt__blog__cat.cat-03 {
        background-color: #45bdcf; }
      .topAccnt__blog__cat.cat-04 {
        background-color: #787dbb; }
      .topAccnt__blog__cat.cat-05 {
        background-color: #0062ad; }
      .topAccnt__blog__cat.cat-06 {
        background-color: #e94f81; }
    .topAccnt__blog__time {
      font-size: 15px;
      font-weight: bold;
      display: block;
      color: white;
      letter-spacing: 0.15em; }
    .topAccnt__blog__ttl {
      font-size: 18px;
      font-weight: bold;
      display: block;
      color: white;
      letter-spacing: 0.15em; }
  @media only screen and (max-width: 768px) {
    .topAccnt .twitterArea {
      margin-bottom: 20px; } }
  .topAccnt .btnArea {
    margin-top: 35px; }
    @media only screen and (max-width: 500px) {
      .topAccnt .btnArea {
        margin-top: 5px; } }
  .topAccnt__logoList {
    text-align: center;
    margin: 80px auto 0; }
    @media only screen and (max-width: 768px) {
      .topAccnt__logoList {
        margin: 25px auto 0; } }
    .topAccnt__logoList li {
      display: inline-block;
      margin: 0 15px;
      vertical-align: middle; }
      @media only screen and (max-width: 768px) {
        .topAccnt__logoList li {
          margin: 0 6px; } }
      .topAccnt__logoList li a {
        -webkit-transition: all .3s ease-in-out;
        -o-transition: all .3s ease-in-out;
        transition: all .3s ease-in-out; }
        .topAccnt__logoList li a:hover {
          opacity: 0.6; }
      .topAccnt__logoList li img {
        width: 55px; }
        @media only screen and (max-width: 768px) {
          .topAccnt__logoList li img {
            width: 35px; } }
      .topAccnt__logoList li img:last-child {
        width: 60px; }
        @media only screen and (max-width: 768px) {
          .topAccnt__logoList li img:last-child {
            width: 40px; } }

/*---------------------TOP LINK---------------------*/
.topLink {
  padding: 80px 20px 80px; }
  @media only screen and (max-width: 768px) {
    .topLink {
      padding: 40px 20px 55px; } }
  .topLink__linkArea {
    text-align: center;
    margin: 0px auto 75px; }
    @media only screen and (max-width: 768px) {
      .topLink__linkArea {
        margin: 0px auto 20px; } }
    .topLink__linkArea li {
      display: inline-block;
      margin: 0 40px;
      vertical-align: middle; }
      @media only screen and (max-width: 768px) {
        .topLink__linkArea li {
          margin: 5px 20px; } }
      .topLink__linkArea li a {
        font-size: 30px;
        letter-spacing: 0.1em;
        color: #10386b;
        font-weight: bold;
        -webkit-transition: all .3s ease-in-out;
        -o-transition: all .3s ease-in-out;
        transition: all .3s ease-in-out; }
        @media only screen and (max-width: 768px) {
          .topLink__linkArea li a {
            font-size: 22px; } }
        .topLink__linkArea li a:hover {
          opacity: 0.6; }
  .topLink__bnrArea {
    text-align: center; }
    .topLink__bnrArea li {
      display: inline-block;
      margin: 5px 15px;
      vertical-align: middle; }
      @media only screen and (max-width: 768px) {
        .topLink__bnrArea li {
          margin: 5px 2px; } }
      .topLink__bnrArea li a {
        -webkit-transition: all .3s ease-in-out;
        -o-transition: all .3s ease-in-out;
        transition: all .3s ease-in-out; }
        .topLink__bnrArea li a:hover {
          opacity: 0.6; }
      .topLink__bnrArea li img {
        max-width: 247px; }
        @media only screen and (max-width: 768px) {
          .topLink__bnrArea li img {
            max-width: 160px; } }

.mtm10 {
  margin-top: -10px;
}

.banner_new3{ 
  margin: 100px auto;
  padding: 80px 0;
  background: #ebf9ff;
}
.banner_new {
  margin:0 auto;
  max-width: 1180px;
  width: 100%;
  display: flex;
  justify-content: space-between;
}
.banner_new2 {
  width: 48%;
}
.banner_new2 a:hover {
  opacity: 0.7;
}
.borderp {
  border: 1px solid #e58aa1;
}
@media only screen and (max-width: 768px) {
  .banner_new3 {
    margin: 0 auto;
    padding: 80px 0 30px;
  }
  .banner_new {
    margin:0 auto;
    display: block;
    width: 96%;
    padding: 0 20px;
  }
  .banner_new2 {
    width: 100%;
  }
  .banner_new4 {
    margin: 50px auto;
  }
}
