/* mdpa2024  */
#campus {
	background:#ccc;
}

#campus2025 {
    background-size: 100%;
	width:100%;
	margin:0px auto 0px;
    padding:0 0 100px 0;
    color:#333;
    width:1020px;
	background:#fff;
	}

#campus2025 img {
    width: 100%;
}

.campus_inner {
    padding:50px;
    margin:0 auto;
}


section {
    padding:60px;
}
section.note {
    padding:0 60px 60px;
    background: url(../images/campus/noteline.jpg) repeat;
}
section.message {
    padding:0 60px 60px;
    background: #fafafa;
}
section.news {
    padding:30px 30px 60px;
}

h3 {
    font-size:2.6rem;
    text-align: center;
    position: relative;
    padding:80px 0 0;
}
h3::after {
    position: absolute; /*positionをabsoluteに指定*/
    content: "";
    background-color: #ccc; /*下線の色*/
    width: 50px; /*線の幅*/
    height: 5px; /*線の太さ*/
    bottom: -20px; /*線のタテ位置*/
    left: 50%;  /*線のヨコ位置*/
    transform: translateX(-50%);/*線のヨコ位置*/
}

h3.linegreen::after {
    background-color: #63C335;
}
h3.linepink::after {
    background-color: #F020B0;
}
h3.lineyellow::after {
    background-color: #EBC702;
}
h3.lineblue::after {
    background-color: #24A7C6;
}

h4 {
    font-size:3.785rem;
    text-align: center;
    padding:60px 0 0;
}

p {
    line-height: 180%;
    margin:50px 0;
}

.bg_green {
    background: #6fd22c;
    color:#fff;
}
.bg_white {
    background: #fff;
    color:#6fd22c!important;
}


.sig {
    display: flex;
    justify-content: end;
    align-items:flex-end;
}
.sig p {
    text-align: right;
    display: flex;
    align-items:flex-end;
    margin:0 10px 0 0;
}
.sig img {
    width: 120px!important;
    height: AUTO;
    display: block;
}


.newslist {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    margin:60px 0 0 0;
}
.newslist li {
    width: calc(50% - 52px);
    margin:25px;
}
.newslist li a {
    text-decoration: none;

    -webkit-transition: all .3s ease-out;
    -moz-transition: all .3s ease-out;
    -ms-transition: all .3s ease-out;
    transition: all .3s ease-out;

}
.newslist li a:hover {
    opacity: 0.8;
    -webkit-transition: all .3s ease-out;
    -moz-transition: all .3s ease-out;
    -ms-transition: all .3s ease-out;
    transition: all .3s ease-out;
}
.newslist li a img {
    display: block;
    width: 400px;
    height: 300px;
    object-fit: cover;
}
.newslist li a p.date {
    margin:0;
    padding:15px 0 0 0;
    color: #666;
    font-size: 1.4rem;
    line-height: 160%;
}
.newslist li a p.title {
    margin:0 0 0 0;
    padding:5px 0 0 0;
    font-size:1.6rem;
    font-weight: bold;
    line-height: 160%;
}


footer {
    margin:0 0 0 0;
}



	
@media screen and (max-width: 767px) {



}



@media screen and (max-width: 640px) {

#campus2025 {
	width:100%;
	margin:0px auto 10px;
    padding:0 0 30px 0;
	}
	
.campus_inner {
    padding:0 12px;
    width:calc(100% - 24px);
}

section {
    padding:25px;
}
section.note {
    padding:0 25px 25px;
    background-size:10%;
}
section.message {
    padding:20px 25px 35px;
}
section.news {
    padding:0 10px 10px;
}

h3 {
    font-size:1.75rem;
    text-align: center;
    position: relative;
    padding:40px 0 0;
}
h3::after {
    position: absolute; /*positionをabsoluteに指定*/
    content: "";
    background-color: #ccc; /*下線の色*/
    width: 30px; /*線の幅*/
    height: 3px; /*線の太さ*/
    bottom: -10px; /*線のタテ位置*/
    left: 50%;  /*線のヨコ位置*/
    transform: translateX(-50%);/*線のヨコ位置*/
}

h4 {
    font-size:2rem;
    text-align: center;
    padding:40px 0 0;
}

p {
    line-height: 160%;
    margin:30px 0;
}


.sig {
    display: flex;
    justify-content: end;
    align-items:flex-end;
}
.sig p {
    text-align: right;
    display: flex;
    align-items:flex-end;
    margin:0 10px 0 0;
}
.sig img {
    width: 100px!important;
    height: AUTO;
    display: block;
}


.newslist {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    margin:30px 0 0 0;
}
.newslist li {
    width: calc(50% - 30px);
    margin:15px;
}
.newslist li a img {
    display: block;
    width: 40vw;
    height: 30vw;
    object-fit: cover;
}
.newslist li a p.date {
    margin:0;
    padding:15px 0 0 0;
    color: #666;
    font-size: 1.2rem;
    line-height: 140%;
}
.newslist li a p.title {
    margin:0 0 0 0;
    padding:5px 0 0 0;
    font-size:1.5rem;
    font-weight: bold;
    line-height: 140%;
}


}



/* 親要素の設定 */
.gallery {
    padding: 0;
  width: 100%;
  overflow: hidden; /* 子要素がはみ出さないようにする */
  margin: 0!important;
}

/* スライダー部分の設定 */
.gallery_slide {
  display: flex; /* 横並びにする */
  width: 100%; /* 横幅いっぱいにする */
  animation: slide 30s linear infinite; /* アニメーションの設定 */
}

/* 各アイテムの設定 */
.gallery_slide li {
  flex: 0 0 35%; /* 1つの画像が全体の4分の1の幅を取る */
  width: 100%; /* 幅を指定 */
}

/* アニメーション（スライド） */
@keyframes slide {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%); /* 1周分の移動 */
  }
}


@media screen and (max-width: 640px) {
    .gallery_slide li {
    flex: 0 0 45%; /* 1つの画像が全体の4分の1の幅を取る */
    width: 100%; /* 幅を指定 */
    }
}


