/* ============================================================
   for PC CSS ページ設定
============================================================== */
  /*------------------------------------ ●Top メインイメージ */
  #top-main-image-wrapp {
    margin: 0 50px;
    position: relative;
  }
  /* SCROLL 縦書きコピー */
  #top-main-image-wrapp .scroll-txt {
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    font-size: 1.4em;
    font-family: "Oswald", sans-serif;
      font-weight: normal;
    color: #09459e;
    position: absolute;
    bottom: -20px;
    right: -35px;
  }
  .s-bar {
    display: inline-block;
    width: 2px;
    height: 30px;
    margin: 10px 0 0;
    background: url(images/top_scroll.png) no-repeat center 0px;
  }

  .s-bar {
    animation-name: mScrollBar;
    animation-duration: 1s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
  }

  /*-----------------------------------　↓ ※widthで変更 */
  #top-main-image {
    width: 100%;
  }
#top-main-image:not(.slick-initialized){
    visibility: hidden;
}
  .slide-unit {
    overflow: hidden;
  }
  .fv_link {
    height: 100%;
    display: block;
    transition: all ease 200ms;
  }
.fv_link:hover {
    background: rgba(255, 255, 255, 0.3);
}
@media screen and (max-width: 640px) {
  /*-------------- Top メインイメージ */
  #top-main-image-wrapp {
      margin: 0;
  }
  #top-main-image {
    margin: 60px 0 40px;
  }
}
/*-------------------------- slide */
#top-main03 {
    height: min(114.825vw,600px);
    background: url(images/26_main_img_fv.jpg) no-repeat center / cover;
    position: relative;
}
#top-main03 .fv_link{
    display: flex;
    justify-content: center;
    align-items: center;
}
#top-main03 .fv_link:hover {
    background-color: rgba(255, 255, 255, 0.4);
}
#top-main05 {
    height: min(114.825vw,600px);
    background: url(images/30_main_img_fv_sp.jpg) no-repeat left 15% center / cover;
    position: relative;
}
#top-main05 .fv_link .fv_link{
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin-right: 16%;
}
#top-main05 .fv_link:hover{
    opacity: 1;
}
#top-main05 .p_fv_main05_sp {
    position: absolute;
    right: 7%;
    font-size: min(10vw, 36px);
    color: #023571;
    display: block;
}
#top-main06 {
    height: min(114.825vw,600px);
    background: url(images/stsupport.svg?1003) no-repeat center / cover;
    position: relative;
}
.fv_depart_outer {
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: space-between;
}
p.fv_logo {
    padding-top: min(2vw, 20px);
    width: min(30vw, 330px);
    margin-left: auto;
    margin-right: min(2vw, 20px);
}
p.fv_logo img {
    width: 100%;
}
.fv_txt_wrap {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0;
    font-weight: 400;
    margin: 0 4%;
}
p.fv_txt {
    color: #003570;
    line-height: 1;
    padding: 5px;
    font-size: min(5vw, 36px);
    margin: 0;
}
span.fv_txt_inr {
    line-height: 1.6;
}
.fv_depart_wrap {
    display: flex;
    text-align: center;
    color: #003570;
    line-height: 1;
    gap: 4px;
    margin: 0 3% min(5vw, 35px) auto;
}
.fv_depart {
    background: rgba(255, 255, 255, 0.8);
    padding: min(2vw, 15px) 22px;
}
p.fv_dep_name {
    font-size: min(4.5vw,26px);
    margin: 0;
    line-height: 1.3;
    letter-spacing: 2px;
}
p.fv_dep_subname {
    margin-bottom: 0;
    font-size: min(3.5vw,18px);
}

#top-main07 {
    height: min(114.825vw,600px);
    position: relative;
    background: url(images/main_img_fv_reason_pc.jpg) left center / cover;
}
.fv_reason_wrap{
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;    
}
.fv_reason_inr {
    width: min(92vw,540px);
    background: rgba(255, 255, 255, 0.9);
    height: fit-content;
    padding-bottom: 20px;
    margin-top: min(4vw, 24px);
    position: relative;
}
p.fv_reason_head {
    color: #fff;
    background: #00a0c8;
    font-size: min(4.5vw,26px);
    text-align: center;
    width: fit-content;
    margin: max(-4vw, -24px) auto min(5vw,30px);
    line-height: 1;
    padding: min(2vw, 13px) min(3.5vw, 22px);
    border-radius: 30px;
}
p.fv_reason_ttl {
    width: min(60vw, 430px);
    margin: 0 auto min(4vw, 35px);
}
.fv_reason_list {
    counter-reset: number 0;
    width: min(90%, 380px);
    margin: 0 auto;
}
li.reason_item {
    font-size: min(3.5vw, 16px);
    line-height: 1.2;
    margin: 0 0 min(2vw, 9px);
}
li.reason_item::before {
    color: #0a469f;
    counter-increment: number 1;
    content: counter(number, decimal-leading-zero) " ";
    font-weight: bold;
}
.fv_reason_inr::before,
.fv_reason_inr::after {
    content: "";
    display: block;
    position: absolute;
    width: min(16vw,88px);
    height: 1px;
    background: #003570;
    border-bottom: 1px solid #fff;
    transform: rotate(-45deg);
}
.fv_reason_inr::before {
    top: min(4vw, 24px);
    left: max(-20px,-4vw);
}
.fv_reason_inr::after {
    bottom: min(4vw, 24px);
    right: max(-20px,-4vw);
}
@media screen and (max-width: 640px) {
#top-main03 {
    background-position: bottom center;
    margin: 0;
}
#top-main03 .fv_link {
    display: flex;
    justify-content: center;
    align-items: center;
}
#top-main05 {
    background: url(images/30_main_img_fv_sp.jpg) no-repeat bottom left 27.5% / cover;
    margin: 0;
}
#top-main05 .fv_link{
    margin-right: 0;
}

#top-main05 .p_fv_main05_sp {
    display: block;
    color: #fff;
    font-size: min(5.5vw,28px);
    padding: 0 7% 10%;
    font-weight: 400;
    text-shadow: 1.2px 1.2px 2px rgba(0,0,0, 1);
}
#top-main06 {
    background-position: bottom center;
    margin: 0;
}
.fv_depart_wrap{        
    margin-right: auto;
}
.fv_txt_wrap{
    -ms-writing-mode: vertical-rl;
        writing-mode: vertical-rl;
        justify-content: center;
        align-items: flex-start;
        height: 100%;
        max-height: none;
}
#top-main07 {
    position: relative;
    background: url(images/main_img_fv_reason_sp.jpg) left center / cover;
}
}

/*-------------------------- 共通設定 */
  .part-plate {
    width: 100%;
    height: 60px;
    position: absolute;
    left: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.93);
  }
  .sub-eng {
    font-size: 1.3rem;
    padding: 0 0 0 25px;
  }
@media screen and (max-width: 640px) {
  .part-plate {
    height:auto;
    bottom: 40px;
  }
  .sub-eng {
    font-size: 0.8rem;
      padding: 0;
    display: block;
  }
}
/* 理学療法士科 */
  .part_01 {
    background: url(images/main_slide02_01.jpg) center top / cover;
  }
  .part_01 p {
    color: #3cbac0;
  }
/* 作業療法士科 */
  .part_02 {
    background: url(images/main_slide02_02.jpg) center top / cover;
  }
  .part_02 p {
    color: #ec7079;
  }
/*  介護福祉士科 */
  .part_03 {
    background: url(images/main_slide02_03.jpg) center top / cover;
  }
  .part_03 p {
    color: #90b721;
  }
@media screen and (max-width: 640px) {
    .part_01,
    .part_02,
    .part_03{
    background-position: top center;
  }
}


  /*------------------------------------ ●Top コンテンツ共通設定 */
  .content-wrapp {
    width: 1100px;
    position: relative;
    margin: 0 auto;
  }

@media screen and (max-width: 640px) {
  .content-wrapp {
      width: 100%;
  }
}
  /*--------------------------- 英文タイトル */
  h2.title-english {
    font-size: 5rem;
    font-family: "Oswald", sans-serif;
    letter-spacing: 3px;
    font-weight: normal;
  }
  /* 英文タイトルライン　左寄せ */
  .title-border-left {
    display: flex;
    align-items: center;
    width: 420px;
  }
  .title-border-left:before {
    border-top: 1px solid;
    content: "";
    flex-grow: 1;
    margin-right: 20px;
  }
  /* 英文タイトルライン　右寄せ */
  .title-border-right {
    display: flex;
    align-items: center;
    width: 420px;
    text-align: right;
  }
  .title2-border-right {
    display: flex;
    align-items: center;
    width: 660px;
    text-align: right;
  }

  .title-border-right:after,
.title2-border-right:after{
    border-top: 1px solid;
    content: "";
    flex-grow: 1;
    margin-left: 20px;
  }
@media screen and (max-width: 640px) {
  h2.title-english {
    font-size: 2.4rem;
    font-weight: 300;
  }
  /* 英文タイトルライン　左寄せ */
  .title-border-left {
    width: 50%;
  }
  .adayofsche .title-border-left {
    width: 68%;
  }
  .title-border-left:before {
    margin-right: 3%;
  }
  /* 英文タイトルライン　右寄せ */
  .title-border-right {
    width: 45%;
  }
  .title2-border-right {
    width: 50%;
  }
  .title-border-right:after,
    .title2-border-right:after{
    margin-left: 3%;
  }
}
  /*--------------------------- リンクボタン */
  .link-bt p {
    width: 240px;
    height: 50px;
    text-align: center;
    background: #09459e url(images/arrow_short_w.png) no-repeat 190px 22px;
    font-size: 1.6rem;
  }
  a .link-bt p {
    color: #fff;
    line-height: 52px;
    overflow: hidden;
  }

  a:hover .link-bt p {
    animation-name: moveAllow;
    animation-duration: 0.8s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
  }
@media screen and (max-width: 640px) {
  .link-bt p {
    width: 60%;
    height: 40px;
    font-size: 1.3rem;
  }
  a .link-bt p {
    line-height: 42px;
  }
}
  /*------------------------------------ ●Information */
  #top-information {
    width: 100%;
    margin: 0 0 75px;
  }

  /* Information 基本フレーム */
  #info-frame {
    width: 1100px;
    margin: 30px auto 30px;
    padding: 0 10px;
    font-size: 1.4rem;
    position: relative;
  }
  /* タブ */
nav#info-tab {
    display: flex;
    position: absolute;
    top: -52px;
    right: 0;
    font-size: 1.2rem;
}

nav#info-tab > ul {
    display: flex;
    width: 640px;
    border-left: 1px solid #808080;
}
nav#info-tab a {
    flex: 1;
    display: block;
    border: 1px solid #808080;
    border-left: none;
    text-align: center;
}
nav#info-tab li{
    padding: 0.35em;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}
nav#info-tab li.current {
    color: #fff;
    background: #808080;
}
/* #info-list */
 #info-list li[class*="news_cate_id"] {
    margin-bottom: 10px;
}
.panel {
    margin-bottom: min(8vw, 40px);
}
  /* 日付 */
  .info-date {
    display: inline-block;
    font-size: 1.2rem;
    width: 165px;
    background: url(images/arrow_blue.png) no-repeat 95px 3px;
  }
  /* カテゴリ */
  .info-cat {
    display: inline-block;
    font-size: 1.2rem;
    width: 158px;
    height: 22px;
    border: 1px solid #808080;
    text-align: center;
    line-height: 22px;
    margin: 0 15px 0 0;
  }
  /* 重要なお知らせ */
  .news_cate_id2,
  .news_cate_id2 a,
  .news_cate_id2 .info-cat {
    color: #f00;
    border-color: #f00;
  }
  /* 一覧を見るbtn位置調整 */
  .btn-info-list {
    position: absolute;
    right: 0;
    bottom: 0;
  }

  .info-cat ~ .news_index {
    display: inline-block;
    width: 57.5%;
    line-height: 160%;
    vertical-align: top;
  }

  /*FirstView 重要なお知らせ*/
  #panel_fv #info-list {
    margin: 0 auto 30px;
    max-width: 1100px;
    width: 100%;
    padding: 0.5em 50px;
    border: 3px solid #f00;
  }
  #panel_fv li {
    display: flex;
    align-items: center;
    padding: 0.5em 0;
  }
  #panel_fv .news_index {
    display: block;
    padding: 0;
    font-size: 1.5em;
  }
  #panel_fv .info-cat {
    color: #fff;
    background: #f00;
  }
  #panel_fv .link-bt-move {
    display: none;
  }
@media screen and (max-width: 640px) {
  #top-information {
    margin: 0 0 60px;
  }
  /* Information 基本フレーム */
  #info-frame {
    width: auto;
    margin: 15px 2% 30px;
  }
  /* タブ */
  nav#info-tab {
    position: static;
    margin-bottom: 20px;
}
    #info-list li[class*="news_cate_id"]{
    border-bottom: 1px solid #808080;
    padding-bottom: 5px;     
    margin-bottom: 5px;   
    }
  /* 日付 */
  .info-date {
    font-size: 1.1rem;
    width: calc(6.5rem + 50px);
    background-position: 6.5rem center;
    background-size: 30%;
  }
  /* カテゴリ */
  .info-cat {
    font-size: 1rem;
    width: 35%;
  }
  /* 一覧を見るbtn位置調整 */
  .btn-info-list {
    position: relative;
    margin: 0 auto;
      right: auto;
      bottom: auto;
  }
    .info-cat ~ .news_index{
        display: block;
        width: 100%;
        letter-spacing: 0;
    }
  /*FirstView 重要なお知らせ*/
  #panel_fv #info-list {
    margin-left: 5%;
    margin-right: 5%;
    padding: 0 10px;
  }
  #panel_fv li {
      display: block;
    padding: 1em 0;
    border-bottom: 1px solid #ccc;
  }
  #panel_fv li:last-child {
    border-bottom: none;
  }
  #panel_fv .news_index {
    padding: 0.5em 0 0;
  }
}
  /*------------------------------------ ●Pick up news */
  #top-pickup-news {
    width: calc(1100px + 10%);
    position: relative;
    padding: 0 5%;
    margin: 0 auto;
    box-sizing: border-box;
  }
  #top-pickup-news h3 {
    font-size: 1.8rem;
    padding: 0 0 10px;
    font-family: "Oswald", sans-serif;
    /*font-weight: 300;*/
    letter-spacing: 1px;
    margin: 0 0 24px 0;
    border-bottom: 2px solid;
    display: inline-block;
      font-weight: normal;
  }

  #pickup-list {
    margin: 0 -25px 0 0;
    width: 1125px;
  }

  .pickup {
    width: 348px;
    height: 168px;
    border: 1px solid #808080;
    float: left;
    margin: 0 25px 0 0;
    text-align: center;
    font-size: 1.8rem;
  }
  a .pickup p {
    line-height: 170px;
    color: #fff;
  }
  /*------------ Pick up news 個別設定*/
  /* open-campus */
  .p-open-campus {
    background: url(images/top_pickup_news01.jpg) no-repeat center top;
    background-size: cover;
  }
  a .p-open-campus p {
    margin: 0 auto;
    position: relative;
    padding: 30px 0 0 30px;
  }
  /* 学費免除制度導入 */
  .p-exemption {
    background: url(images/top_pickup_news02.jpg) no-repeat center top;
    background-size: cover;
  }
  /* 資料請求・お問い合わせ */
  .p-inquiry {
    background: url(images/top_pickup_news03.jpg) no-repeat center top;
    background-size: cover;
  }
  /*------------ roll over 設定*/
  a .pickup-bg {
    background: rgba(0, 0, 0, 0.3);
    height: 168px;
    transition: 0.5s;
    -webkit-transition: 0.5s;
  }
  a:hover .pickup-bg {
    background: rgba(0, 0, 0, 0.1);
    height: 168px;
    transition: 0.5s ease-out;
    -webkit-transition: 0.5 sease-out;
  }

  /*-----------------  slick setting  */
  .prev-arrow {
    position: absolute;
    top: 70px;
    left: -50px;
  }
  .next-arrow {
    position: absolute;
    top: 70px;
    right: -25px;
  }
  :hover .slide-arrow {
    cursor: pointer;
  }
@media screen and (max-width: 640px) {
 #top-pickup-news {
    margin: 0 auto 80px;
  }
  #top-pickup-news h3 {
    font-size: 1.4rem;
    padding: 0 0 10px;
    font-family: "Oswald", sans-serif;
    font-weight: 300;
    letter-spacing: 1px;
    margin: 0 0 24px 5%;
    border-bottom: 2px solid;
    display: inline-block;
      font-weight: normal;
  }
  .pickup {
    width: 80%;
    height: 140px;
    border: 1px solid #808080;
    margin: 0 auto 0;
    text-align: center;
    font-size: 1.4rem;
  }
  a .pickup p {
    line-height: 140px;
    color: #fff;
  }
  /*------------ Pick up news 個別設定*/
  /* open-campus */
  .p-open-campus {
    background: url(images/top_pickup_news01.jpg) no-repeat center top;
    background-size: cover;
  }
  a .p-open-campus p {
    width: 70%;
    margin: 0 auto;
    position: relative;
    padding: 30px 0 0;
  }
  /* 学費免除制度導入 */
  .p-exemption {
    background: url(images/top_pickup_news02.jpg) no-repeat center top;
    background-size: cover;
  }
  /* 資料請求・お問い合わせ */
  .p-inquiry {
    background: url(images/top_pickup_news03.jpg) no-repeat center top;
    background-size: cover;
  }
  /*------------ roll over 設定*/
  a .pickup-bg {
    background: rgba(0, 0, 0, 0.2);
    height: 140px;
    transition: 0.5s;
    -webkit-transition: 0.5s;
  }

  /*-----------------  slick setting  */
  .prev-arrow {
    position: absolute;
    top: 60px;
    left: 10px;
  }
  .next-arrow {
    position: absolute;
    top: 60px;
    right: 10px;
  }
  .slide-arrow {
    width: 3%;
  }
}

  /*------------------------------------ ●学科紹介 */
  #top-course {
    width: 100%;
    margin: 0 0 130px;
  }
  #top-course h2 {
    font-size: 3rem;
    text-align: center;
  }
  /* h2下バー */
  .under-bar {
    max-width: 60px;
    margin: 16px auto 36px;
    position: relative;
    border-top: 1px solid #09459e;
  }
  /* unit 共通 */
  .course-unit {
    width: 49.8%;
    margin: 0 0.2% 0 0;
    height: 567px;
    position: relative;
    background: #993;
    float: left;
  }
  .last-unit {
    margin: 0;
  }
  /* unit text 共通 */
  .course-unit-info {
    position: absolute;
    top: 490px;
    left: 0;
    width: 73%; /* 89% */
    padding: 30px 8% 0;
    height: 90px; /* 184px */
    background: #fff;
    letter-spacing: 3px;
  }
  @media screen and (min-width: 1201px) and (max-width: 1300px) {
    .course-unit-info {
      top: 440px;
    }
  }
  @media screen and (min-width: 1101px) and (max-width: 1200px) {
    .course-unit-info {
      top: 400px;
    }
  }
  @media screen and (min-width: 641px) and (max-width: 1100px) {
    .course-unit-info {
      top: 380px;
    }
  }
  .course-unit-info h3 {
    font-size: 2.8rem;
    font-weight: normal;
    letter-spacing: 3px;
  }
  .course-unit-info p.course-english {
    font-size: 1.6rem;
    margin: 10px 0 5px;
    font-family: "Oswald", sans-serif;
      font-weight: normal;
  }
  /* 各unit設定 */
  /*------------- 理学療法士科 */
  .course01 .course-unit-info {
    border-bottom: 2px solid #3cbac0;
  }
  .course01 .course-unit-info h3,
.course01 .course-unit-info p.course-english{
    color: #3cbac0;
  }
  /*------------- 作業療法士科 */
  .course02 .course-unit-info {
    border-bottom: 2px solid #ec7079;
  }
  .course02 .course-unit-info h3,
.course02 .course-unit-info p.course-english{
    color: #ec7079;
  }
  a .course01 {
    background: url(images/top_course01.jpg) no-repeat center top;
    background-size: 130%;
    transition: 0.3s;
    -webkit-transition: 0.3s;
  }
  a:hover .course01 {
    background-size: 140%;
    transition: all 0.3s ease;
    -webkit-transition: all 0.3s ease;
  }
  a .course02 {
    background: url(images/top_course02.jpg) no-repeat center top;
    background-size: 130%;
    transition: 0.3s;
    -webkit-transition: 0.3s;
  }
  a:hover .course02 {
    background-size: 140%;
    transition: all 0.3s ease;
    -webkit-transition: all 0.3s ease;
  }
@media screen and (max-width: 640px) {
 #top-course {
    margin: 0 0 30px;
  }
  #top-course h2 {
    font-size: 2rem;
  }
  /* h2下バー */
  .under-bar {
    max-width: 10%;
    margin: 12px auto 36px;
  }
  /* unit 共通 */
  .course-unit {
    width: 100%;
    margin: 0 0 80px;
    height: 340px;
      float: none;
  }
  /* unit text 共通 */
  .course-unit-info {
    top: 280px;
    width: 80%;
    height: auto;
    margin: 0 5%;
    padding: 20px 5%;
    background: #fff;
      letter-spacing: 0;
  }
  .course-unit-info h3 {
    font-size: 2.2rem;
  }
    .course-unit-info p,
    .course-unit-info p.course-english{
    font-size: 1.2rem;
  }
  /* 各unit設定 */
  a .course01 {
    background: url(images/top_course01.jpg) no-repeat center top / 110%;
  }
  a .course02 {
    background: url(images/top_course02.jpg) no-repeat center top / 110%;
  }
}
  /*------------------------ move arrow */
  .move-arrow {
    width: 48px;
    height: 6px;
    position: relative;
    margin: -10px 0 0 auto;
  }

  .m-a01 {
    background: url(images/arrow_red.png) no-repeat;
  }
  a:hover .m-a01 {
    animation-name: mArrowRed;
    animation-duration: 0.6s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
  }

  .m-a02 {
    background: url(images/arrow_orange.png) no-repeat;
  }
  a:hover .m-a02 {
    animation-name: mAllowOrange;
    animation-duration: 0.6s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
  }
  /*------------------------------------ ●Featured */
  #top-featured {
    margin: 0 0 150px 60px;
    position: relative;
    padding: 90px 0 0;
  }
  #top-featured h2 {
    position: absolute;
    right: 0;
    top: 0;
  }
  /* 縦書きコピー */
  #top-featured p.featured-copy {
    font-size: 2.5em;
    line-height: 1em;
    color: #09459e;
    margin-bottom: min(2vw, 20px);
      
  }
  #top-featured p.featured-copymain{
    font-size: 5em;
    line-height: 1.4em;
    color: #09459e;  
    margin-bottom: 0;  
    font-weight: 500;
}
  /* メインイメージ */
  #featured-box {
    height: 530px;
    border-bottom: 8px solid #09459e;
    background: url(images/top_Featured.jpg) no-repeat right top;
    background-size: auto 100%;
    position: relative;
  }
@media screen and (min-width: 1400px) {
#featured-box {
    background-size: 72vw auto;
}
}
  #top-featured #featured-box:before {
    content: "";
    display: block;
    position: absolute;
    background-color: #f3f6fb;
    width: 70%;
    height: calc(100% + 180px);
    top: -85px;
    right: 0;
    z-index: -1;
    border-radius: 120px 0;
  }
  /* テキストプレート */
  #featured-exp01 {
    width: 35%;
    background: #fff;
    padding: 25px 30px 0 0;
    box-sizing: border-box;
  }

  /*---------------------- 詳しく見るbtn */
  p.link-txt {
    display: inline;
  }
  a p.link-txt {
    color: #09459e;
  }
  a:hover p.link-txt {
    text-decoration: none;
  }
  .move-arrow-blue {
    width: 48px;
    height: 10px;
    display: inline-block;
    margin: 0 0 0 min(3vw,20px);
  }
  .m-a04 {
    background: url(images/arrow_blue.png) no-repeat;
  }
  a:hover .m-a04 {
    animation-name: mAllowBlue;
    animation-duration: 0.6s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
  }
@media screen and (max-width: 640px) {
#top-featured {
    margin: 0 0 60px;
    padding: 50px 0 0;
  }
  /* 縦書きコピー */
  #top-featured p.featured-copy {
    font-size: 1.5rem;
        margin-left: 5%;
  }
    #top-featured p.featured-copymain {
    font-size: 2.5rem;
        margin-left: 5%;
    }
  /* メインイメージ */
  #featured-box {
    height: auto;
        background-size: 100% auto;
        padding: 0;
        background-position: 0 min(31vw, 140px);
  }
    #top-featured #featured-box:before{
        display: none;
    }
  /* テキストプレート */
  #featured-exp01 {
      width: 100%;
      position: static;
        padding: 60vw 5% 0;
        background: none;
  }
#featured-exp01 p {
    padding: 15px 0;
}
}
  /*------------------------------------ ●Campus Life */
  #top-c-life {
    margin: 0 0 100px;
  }
  .flex_c-life {
    display: flex;
    flex-wrap: wrap;
  }
  #top-c-life h2 {
    margin: 0 0 40px;
  }
  .link_c-life {
    width: 50%;
  }

  .c-life-unit {
    margin: 0 0 0.2% 0;
    overflow: hidden;
  }
.c-life-unit div[class*="c-unit"]{ 
    height: 368px;
}
a .c-life-unit h3 {
    font-size: min(6vw, 36px);
    text-align: center;
    color: #fff;
    margin-top: min(12vw, 72px);
}
  .life-bar {
    width: 80px;
    margin: 15px auto 25px;
    border-top: 1px solid #fff;
    position: relative;
  }
  a .c-life-unit p {
    font-size: 1.8rem;
    color: #fff;
    width: 400px;
    line-height: 1.8em;
    position: relative;
    margin: 0 auto;
  }

  .life-bg {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    background: rgba(0, 0, 0, 0.3);
    transition: 0.4s;
    -webkit-transition: 0.4s;
  }

  a .c-unit01 {
    background: url(images/top_c-life01.jpg) no-repeat center top;
    background-size: cover;
    transition: 0.4s;
    -webkit-transition: 0.4s;
  }
  a .c-unit02 {
    background: url(images/23_main_img.jpg) no-repeat center top;
    background-size: cover;
    transition: 0.4s;
    -webkit-transition: 0.4s;
  }
  a .c-unit03 {
    background: url(images/dreams_main_img.jpg) no-repeat center top;
    background-size: cover;
    transition: 0.4s;
    -webkit-transition: 0.4s;
  }
  a .c-unit04 {
    background: url(images/top_c-life04.jpg) no-repeat center top;
    background-size: cover;
    transition: 0.4s;
    -webkit-transition: 0.4s;
  }
  a .c-unit04 .life-bg {
    padding: 17% 40px calc(17% + 32.4px);
  }
  a:hover .c-unit01,
  a:hover .c-unit02,
  a:hover .c-unit03,
  a:hover .c-unit04 {
    transform: scale(1.05);
    transition: 0.4s ease-out;
    -webkit-transition: 0.4s ease-out;
  }
  a:hover .life-bg {
    transform: scale(0.9524);
  }
  .adayofsche .link_c-life {
    width: 100%;
  }
  .adayofsche .c-life-unit {
    aspect-ratio: 1292 / 382;
  }
  .adayofsche .c-unit02.last-unit {
    aspect-ratio: 1292 / 382;
  }
  .adayofsche .life-bg {
    aspect-ratio: 1292 / 382;
    height: 100%;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: center;
    padding-left: 40px;
  }
  .adayofsche a .c-life-unit h3 {
    font-size: 3.5rem;
  }
  .adayofsche .life-bar {
    margin: 15px 0 25px;
    width: calc(3.5rem * 5);
  }

  .adayofsche a .c-life-unit p {
    margin: 0;
    width: 70%;
  }
  .adayofsche .title-border-left {
    width: 530px;
  }
  .adayofsche a .c-unit02 {
    background: url(images/50_main_img.jpg) no-repeat center top / cover;
  }
@media screen and (max-width: 640px) {
  #top-c-life {
    margin: 0 0 50px;
  }
  #top-c-life h2 {
    margin: 0 0 30px;
  }
    .link_c-life{
        width: 100%;
    }
  .c-life-unit {
        height: 200px;
    width: 100%;
    margin: 0 0.2% 1px 0;
  }
    .c-life-unit div[class*="c-unit"]{ 
    height: 100%;
    }
  a .c-life-unit h3 {
    font-size: 1.8rem;
    text-align: center;
    color: #fff;
  }
  .life-bar {
    width: 15%;
    margin: 10px auto 25px;
    border-top: 1px solid #fff;
    position: relative;
  }
  a .c-life-unit p {
    font-size: 1.2rem;
    color: #fff;
    width: 75%;
    line-height: 1.5em;
    position: relative;
    margin: 0 auto;
  }

  .life-bg {
    background: rgba(0, 0, 0, 0.4);
        height: 100%;
  }
}

  /*------------------------------------ ●卒業生からのメッセージ */
  #top-s-message {
    margin: 0 0 200px;
    position: relative;
  }
.msg_ttl_wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: row-reverse;
    padding-left: 5vw;
    margin-bottom: min(5vw,50px);
    gap: min(3vw,20px);
}
  #top-s-message h2 {
  }
  .link_top-s-message {
    transition: 500ms;
  }
  .link_top-s-message:hover {
    opacity: 1;
    transition: 500ms;
  }
  /* photo area */
  #top-message-photo {
    position: relative;
    margin: 0 0 50px;
  }
  ul#photos {
    display: flex;
    flex-wrap: wrap;
    transition: all ease 300ms;
  }
.link_top-s-message:hover ul#photos {
    opacity: 0.7;
}
  ul#photos li {
    width: calc(100% / 6);
    height: 310px;
    display: flex;
    justify-content: center;
    overflow: hidden;
  }
ul#photos li.m-photo_head {
    background: #09459e;
    align-items: center;
}
ul#photos li.m-photo_head img {
    height: min(20vw,151px);
}
  /*画像上コピー */
  #top-message-read {
    height: 56px;
    width: 100%;
    background: rgba(0, 0, 0, 0.6);
    position: absolute;
    left: 0;
    top: calc(50% - 28px);
  }
  #top-message-read p {
    text-align: center;
    color: #fff;
    line-height: 56px;
  }
  /* 詳しく見るbtn 位置調整用 */
  .w-1100 {
    width: 1100px;
    margin: 0 auto;
    position: relative;
  }
  .position-right {
    position: absolute;
    top: 0;
    right: 0;
  }
@media screen and (max-width: 640px) {
  #top-s-message {
    margin: 0 0 60px;
  }
.msg_ttl_wrap {
    flex-direction: column;
    padding: 0;
}
  #top-s-message h2 {
    width: 90%;
    margin: 0 0 0 auto;
  }
  .img-title {
        width: 80%;
  }
  /* photo area */
  #top-message-photo {
        margin: 0 0 30px;
        display: flex;
        flex-direction: column-reverse;
  }
  ul#photos li {
    width: calc(100% / 3);
    height: auto;
  }
  /* photo */
  li[class*="m-photo"] {
      background-position: top center;
  }
    .link_top-s-message{
        pointer-events: none;
    }
  /*画像上コピー */
  #top-message-read {
    height: auto;
    background: none;
    text-align: center;
        position: static;
        margin-bottom: 5vw;
  }
  #top-message-read p {
    line-height: 1.5em;
        color: inherit;
  }
  /* 詳しく見るbtn 位置調整用 */
  .w-1100 {
      width: auto;
  }
  .position-right {
    width: 60%;
    position: relative;
    margin: 0 auto;
  }
}

  /*-----------------  slick setting  */
  .prev-arrow-puc {
    position: absolute;
    top: -80px;
    right: 22%;
  }
  .next-arrow-puc {
    position: absolute;
    top: -80px;
    right: 18%;
  }
  :hover .slide-arrow-puc {
    cursor: pointer;
  }

  body::before {
    height: 130px;
  }
  #top-information h2.title-english {
    font-size: 2rem;
    letter-spacing: 1.5px;
    width: 16%;
  }



@media screen and (min-width: 641px) and (max-width:1200px){
.br_featured {
  display: none;
}
}
@media screen and (max-width: 1080px) {
  .br_featured {
    display: inline-block;
  }
}


.panelfix {
  display: none;
}
.panelfix.visi {
  display: block;
}

#panelfix .news_cate_id2:not(:first-child):not(:nth-child(2)) {
  display: none;
}

#panel0 #info-list li.news_cate_id2
{
  display: none;
}

/*--------------------------- animation */

@keyframes mScrollBar {
  from {
    background: url(images/top_scroll.png) no-repeat center -30px;
  }
  to {
    background: url(images/top_scroll.png) no-repeat center 30px;
  }
}

@keyframes moveAllow {
  from {
    background: #09459e url(images/arrow_short_w.png) no-repeat 190px 22px;
  }
  to {
    background: #09459e url(images/arrow_short_w.png) no-repeat 280px 22px;
  }
}

@keyframes mArrowRed {
  from {
    background: url(images/arrow_red.png) no-repeat -48px 0px;
  }
  to {
    background: url(images/arrow_red.png) no-repeat 48px 0px;
  }
}

@keyframes mAllowOrange {
  from {
    background: url(images/arrow_orange.png) no-repeat -48px 0px;
  }
  to {
    background: url(images/arrow_orange.png) no-repeat 48px 0px;
  }
}

@keyframes mAllowGreen {
  from {
    background: url(images/arrow_green.png) no-repeat -48px 0px;
  }
  to {
    background: url(images/arrow_green.png) no-repeat 48px 0px;
  }
}

@keyframes mAllowBlue {
  from {
    background: url(images/arrow_blue.png) no-repeat -48px 0px;
  }
  to {
    background: url(images/arrow_blue.png) no-repeat 48px 0px;
  }
}

/*------------------------------------ ●貸室 */
#rental-space .flex_rental{
      position: relative;
}
#rental-space{
margin: 0 0 min(16vw,160px);
}
#rental-space h2{
     margin: 0 0 min(5.5vw,40px);
     width: min(54%,430px);
}
#rental-space .rental_txt_wrap{
 width: 49.8%;
 background: none;
 text-align: center;
 display: flex;
 -webkit-align-items: center;
         align-items: center;
}
#rental-space .flex_rental:before {
        content: "";
        display: block;
        position: absolute;
        background-color: #f3f6fb;
        width: 70%;
        height: calc(100% + 150px);
        top: -85px;
        right: 0;
        z-index: -1;
        border-radius: 120px 0;
}
.rental_img{
      background: none;
      padding: 0;
        min-height: 100%;
}
.rental_txt {
    background: none;
    padding: 0 60px;
    flex-direction: column;
    align-items: center;
}

.rental_txt h3{
    font-size: 2.5rem;
}    
.rental_txt .life-bar{
    width: 80px;
    margin: 15px auto 25px;
    border-top: 1px solid #09459e;
    position: relative;
}
.rental_txt_p{
    text-align: left;
    font-size: 1.8rem;
    color: #000;
    width: min(100%,400px);
    line-height: 1.8em;
    position: relative;
    margin: 0 auto;
}
a .rental-unit02 {
    background: url(images/40_main_img.jpg) no-repeat center top;
    background-size: cover;
    transition: 0.4s;
    -webkit-transition: 0.4s;
    min-height: 360px;
}
.rental_btn{
  display: block;
  width: fit-content;
  margin-left: auto;
  margin-top: 60px;
}
@media screen and (max-width: 640px) {
#rental-space .c-life-unit{
    height: auto;
}
#rental-space .rental_txt_wrap{
 width: 100%;
     margin-top: 30px;
     padding: 0 30px;
box-sizing: border-box;
}
#rental-space .flex_rental:before {
    display: none;
}
    .rental_txt{
        padding: 0;
    }
 .rental_txt h3{
        font-size: 2rem;
}    
.rental_txt .life-bar{
        width: 15%;
}
.rental_txt_p{
    font-size: 1.3rem;
    line-height: 1.5em;
}
.rental_btn{
    width: calc(calc(100% + 60px)* 0.6);
      margin-right: auto;
}
.rental_btn .link-bt-move{
    width: 100%;
}
}
/*2025620追加↑↑↑↑↑*/


@media screen and (max-width: 640px) {
  /* ----------------------------------------------------------
   トップページ設定
------------------------------------------------------------*/
  /*-------------------------- slide */
  /*    2025 vvv*/
/*-------------------------- 共通設定 */
  /*------------------------------------ ●Top コンテンツ共通設定 */
  /*--------------------------- 英文タイトル */
  /*--------------------------- リンクボタン */
  /*------------------------------------ ●Information */
  /*------------------------------------ ●Pick up news */
  /*------------------------------------ ●学科紹介 */
  /*------------------------ move arrow */
  /*------------------------------------ ●Featured */
  /*------------------------------------ ●Campus Life */
  /*------------------------------------ ●学生の一日 */
  /*------------------------------------ ●卒業生からのメッセージ */


  /*-----------------  slick setting  */
  .prev-arrow-puc {
    position: absolute;
    top: 65px;
    left: -25px;
  }
  .next-arrow-puc {
    position: absolute;
    top: 65px;
    right: -15px;
  }
  .slide-arrow-puc {
    width: 4%;
  }

  /*--------------- iPhone 5 4 */
  @media screen and (min-width: 320px) and (max-width: 374px) {
    .top-business-read ul {
      width: 100%;
      margin: 0 0 30px 8px;
      position: relative;
    }
    .top-business-read li {
      width: 110px;
      height: 120px;
      border-radius: 150px;
      background: #0b5c9b;
      color: #fff;
      font-size: 1.5rem;
      padding: 30px 20px 0 20px;
      line-height: 1.5em;
      margin: 0 5px 5px 0;
      float: left;
    }
  }

  /*--------------- iPhone 6 */
  @media screen and (min-width: 375px) and (max-width: 413px) {
    .top-business-read ul {
      width: 100%;
      margin: 0 0 30px 13px;
      position: relative;
    }
    .top-business-read li {
      width: 130px;
      height: 135px;
      border-radius: 170px;
      background: #0b5c9b;
      color: #fff;
      font-size: 1.5rem;
      padding: 35px 20px 0 20px;
      line-height: 1.5em;
      margin: 0 8px 5px 0;
      float: left;
    }
  }

  /*--------------- iPhone 6 plus ～ */
  @media screen and (min-width: 414px) and (max-width: 500px) {
    .top-business-read ul {
      width: 100%;
      margin: 0 0 30px 13px;
      position: relative;
    }
    .top-business-read li {
      width: 145px;
      height: 150px;
      border-radius: 190px;
      background: #0b5c9b;
      color: #fff;
      font-size: 1.5rem;
      padding: 40px 20px 0 25px;
      line-height: 1.5em;
      margin: 0 8px 5px 0;
      float: left;
    }
  }

.panelfix {
  display: none;
}
.panelfix.visi {
  display: block;
}

#panelfix .news_cate_id2:not(:first-child):not(:nth-child(2)) {
  display: none;
}

#panel0 #info-list li.news_cate_id2
{
  display: none;
}
}

