@charset "UTF-8";
/* index専用css */

/* 動画を画像で表示して、クリックでモーダル表示する ---*/

.a-video img{
	width: 100%;
	height: auto;
}
#ndstv .a-video {
width: 100%;
		margin-bottom: 30px;
}
#nds-tv-list {
    display: flex;
    flex-wrap: wrap;
}
.video-description {margin: 20px 0;}
.video-description p {line-height: 1.5;}
.youtube {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    /*padding-top: 20px;*/
    overflow: hidden;
}
.youtube iframe {
	width: 100% !important;
	height: 100% !important;
	position: absolute;
	top: 0;
	right: 0;
}
#popWrap {
	background-color: rgba(0,0,0,0.68);
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000000;

	display: none;
}
#playArea {
	background-color: #000;
	border-radius: 10px;
	padding: 20px;
	position: absolute;
	box-shadow: 0 0 5px 0 rgba(0,0,0,0.5);
}
#playArea iframe {
	width: 100%;
	height: 100%;
}
#playArea #close {
	position: absolute;
	top: -26px;
	right: -20px;
	background-color: #282828;
	border-radius: 100px;
	border: 3px solid #999;
	color: #FFF;
	width: 39px;
	height: 40px;
	line-height: 2;
	padding-left: 1px;
	text-align: center;
	font-size: 16px;
	cursor: pointer;
}

#playArea #close:hover {background-color: #4d4d4d;}


@media screen and (max-width: 827px) {
	.a-video .youtube-thumbnail {
		display: none;
	}
	/* 768にしたいけれど、viewport.jsの仕様で、スマホでyoutube埋め込みにならないので828（÷2になるらしい） */
}

@media screen and (min-width: 828px) {
    .a-video .youtube.sp-only {display: none;}
    .a-video .youtube-thumbnail a {
        display: block;
        position: relative;
        }
    .a-video .youtube-thumbnail a:after {
        content: "";
        display: block;
        position: absolute;
        width: 64px;
        height: 44px;
        z-index: 2;
        background-color: rgba(0,0,0,0.6);
        border-radius: 12px;
        top: 50%;
        left: 50%;
        transform: translate(-50%,-50%);
    }
    .a-video .youtube-thumbnail a:before {
        content: "";
        display: block;
        position: absolute;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 9px 16px;
        border-color:  transparent transparent transparent #FFF;
        z-index: 3;
        top: 50%;
        left: calc(50% + 9px);
        transform: translate(-50%,-50%);
    }
    .a-video .youtube-thumbnail a:hover img {opacity: 0.8;}
    #nds-tv-list .a-video {
        width: calc((98% / 3) - 1px);
        margin-right: 1%;
    }
    #nds-tv-list .a-video:nth-child(3n) {margin-right: 0;}
}

/* --------------------------- */


@media screen and (max-width: 828px) {
.campusBlock .ocListItem--schedule {
		overflow: hidden;
		position: absolute;
		bottom: 16px;
		left: 16px;

		width: calc(100% - 32px); }
		.campusBlock .ocListItem--schedule li {
			display: block;
			float: left;
			width: 22%;
			margin: 0 4% 0 0;
			height: 15vw !important;
			overflow: hidden; }
			.campusBlock .ocListItem--schedule li:last-child {
				margin: 0; }
			.campusBlock .ocListItem--schedule li span {
				color: #000;
				font-family: "NotoSansCJKjp-DemiLight";
				font-size: 16px;
				display: block;
				margin: 0 0 10px; }
			.campusBlock .ocListItem--schedule li img {
				width: 100%; } 
}

@media screen and (min-width: 829px) ,print {

.campusBlock .ocListItem--schedule {
		overflow: hidden;
		position: absolute;
		bottom: 10px;
		left: 10px;
		width: calc(100% - 20px);
	}

		.campusBlock .ocListItem--schedule li {
			display: block;
			float: left;
			width: 22%;
			margin: 0 4% 0 0;
			height: 75px;
			overflow: hidden;
	}

			.campusBlock .ocListItem--schedule li:last-child {
				margin: 0; }
			.campusBlock .ocListItem--schedule li span {
				color: #000;
				font-family: "NotoSansCJKjp-DemiLight";
				font-size: 11px;
				display: block;
				margin: 0 0 10px; }
			.campusBlock .ocListItem--schedule li img {
				width: 100%; }
}


/* ----------------------------------- */


/* 親スタイルリセットとペース設定 ++++++++++ */
.slider-box p, .slider-box div, .loop-box ul, .loop-box li {
  box-sizing: border-box; margin: 0 !important; padding: 0 !important;
}

/*ベースBOXの設定 +++++++++++++++++++++ */
.slider-box {
  box-sizing: border-box;
  overflow: hidden;
  width: 100%; /* 画面又は親要素に対するサイズ - 変更可 */
  margin: -20px auto 0 auto; /* Box外の余白 - 変更可 */
  padding: 10px 0 0; /* 上端からスライダーまでの距離 - 変更可・削除可 */
}

/*スライダー本体とアニメーションの基本設定 ++++++++++++++ */
.loop-box{
  position: relative;
  width: 100%;
  overflow: hidden; 
}
.loop-box, .loop-box ul {
  height: 180px; /* スライダーの高さ - 変更注意 */
}
.loop-box ul {
  position: absolute; left: 0; top: 0;
  display: flex; 
  justify-content: space-between;
  background: #FFF; /* スライダーの背景色 - 変更可 */
  list-style: none;
  max-width: 10000%; 
  min-width: 100%;
  width: calc(130px * 1.5 * 12); /* 画像の横幅×枚数 - 変更注意・変更可・変更注意 */
  animation: 80s linear infinite; /* アニメーション設定 - 変更可 */
}
.loop-box li {
  display: flex;
  align-items: center; 
  justify-content: center;
  color: #fff;
  width: calc(100% / 12); /* li の幅を均等にする - 削除可・変更注意 */
}
.loop-box img {
  height: auto;
  min-height:180px;
  width: 100%;
}

/* アニメーション個別設定 ++++++++++ */
.loop-box ul.loop1 {
  animation-name: loop1;
}
.loop-box ul.loop2 {
  animation-name: loop2;
}


@keyframes loop1 {
  0% {transform: translateX(0); }
  49.99999% {transform: translateX(-100%); }
  50% {transform: translateX(100%); }
}
@keyframes loop2 {
  0% {transform: translateX(100%); }
  100%{transform: translateX(-100%); }
}


@media screen and (max-width: 768px) {
/*ベースBOXの設定 +++++++++++++++++++++ */
.slider-box {
  box-sizing: border-box;
  overflow: hidden;
  width: 100%; /* 画面又は親要素に対するサイズ - 変更可 */
  margin: -20px auto 0 auto; /* Box外の余白 - 変更可 */
  padding: 10px 0 0; /* 上端からスライダーまでの距離 - 変更可・削除可 */
}

/*スライダー本体とアニメーションの基本設定 ++++++++++++++ */
.loop-box{
  position: relative;
  width: 100%;
  overflow: hidden; 
}
.loop-box, .loop-box ul {
  height: 300px; /* スライダーの高さ - 変更注意 */
}
.loop-box ul {
  position: absolute; left: 0; top: 0;
  display: flex; 
  justify-content: space-between;
  background: #FFF; /* スライダーの背景色 - 変更可 */
  list-style: none;
  max-width: 10000%; 
  min-width: 100%;
  width: calc(220px * 1.5 * 12); /* 画像の横幅×枚数 - 変更注意・変更可・変更注意 */
  animation: 120s linear infinite; /* アニメーション設定 - 変更可 */
}
.loop-box li {
  display: flex;
  align-items: center; 
  justify-content: center;
  color: #fff;
  width: calc(100% / 12); /* li の幅を均等にする - 削除可・変更注意 */
}
.loop-box img {
  height: auto;
  min-height:300px;
  min-width:300px;
}
}
@media screen and (min-width: 300px) {
span.pc_insta_name{ position:relative; display:block; font-size:14px; width:100%; text-align:right; margin-top:-30px;}
}

@media screen and (min-width: 48.9375em) {
span.pc_insta_name{ position:absolute; right:0; top:6%; font-size:12px;}
.pc_twitter_margin{ padding-left:50px;}
}

img.to_instagram_bannar{ display:block; width:90%; margin:30px auto;}

/* --------------------------- */


.infoNewsBlock .contentWrap .picupBox ul.banner_area{
	display:flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.infoNewsBlock .contentWrap .picupBox ul.banner_area li{
	margin:0;
	float: none;
	width: 48%;
	margin-bottom: 14px;
}
.infoNewsBlock .contentWrap .picupBox ul.banner_area li img{
	width: 100%;
	height: auto;
}


/* --------------------------- */


/* スライド読み込みが終わったら表示する */
.slider {
	opacity: 0;
	transition: opacity .3s linear;
}
.slider.slick-initialized{
	opacity: 1;
}


