@charset "UTF-8";

/* トップページのみにかかるスタイル */
.h2_old {
	width: 100%;
	color: #fff;
	font-size: 2rem;
	line-height: 2.5rem;
	text-align: center;
	text-shadow: 0 0 10px #666;
	letter-spacing: 5px;/* 文字間隔を広げる */
	text-indent: 5px;/* 文字間隔が右に広がって中央がずれるので左端に同じ間隔をあける */
	padding: 135px 0 0 0;
}

/* h3フォント大きめのやつ */
/* h2 {
	margin: 0 0 70px 0;
	padding: 60px 0 0 0; /*#リンクの時にヘッダーと重ならないように
	font-size: 1.7rem;
	line-height: 2rem;
	font-weight: 500;
	text-align: center;
} */
/* .font-mp {
	font-size: 2.5rem;
	font-family: 'M PLUS 1p', sans-serif;
} */

/* h3 {
  font-size: 1.7rem;
	font-weight: normal;
} */
/* .h3_sub {
	font-size: 1rem;
	font-weight: normal;
	text-align: center;
	margin: 0 0 70px 0;
} */


/*基本のレイアウト（スマホ向けレイアウト）
*******************************************************************************************/

/*アイキャッチ
------------------------------------------------------------------------------------------*/

/* フェードスライド用 */
.eyecatch {
	height: 85vh;
	position: relative;
}
.catchphrase {
	position: absolute;
	top: 5%;
	left: 7%;
	width: 60vw;
}
.eyecatch_img_sp {
	background-position: top right;
	background-repeat: no-repeat;
	background-size: cover;
	height: 85vh;
}

/* 「さがしていた未来」の文字の画像、グラデーション、背景画像 */
/*前のアイキャッチ
.eyecatch_img_sp {
	background-image: url("../img/top_text_index.png"), linear-gradient( 150deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.3) 20%, rgba(0, 0, 0, 0.3) 20%, rgba(0, 0, 0, 0) 30%), url("../img/top_index_sp.jpg");
	background-position: top 5% left 7%, center, top right;
	background-repeat: no-repeat;
	background-size: 60vw, cover, cover;
	height: 85vh;*/
	/*background-attachment: fixed;背景止めてそれ以外がスクロール
}*/

/* 「さがしていた未来」の文字の画像の代わりに別のメッセージを手入力したい場合 */
.eyecatch_text_main {
	background-color: rgba(0, 0, 0, 0.7);
	position: absolute;
	top: 0px;
	left: 20px;
	padding: 70px 20px 20px 20px;
	color: #ccc;
	font-size: 4vmin;
	line-height: 6vw;
	-webkit-writing-mode: vertical-rl;/* 縦書き */
	writing-mode: vertical-rl;/* 縦書き */
}

/* hapini
------------------------------------------------------------- */
.top_sticker_hapini{
	display: block;
	width: 130px;
	position: absolute;
	bottom: 160px;
	animation-name: chira;
	animation-duration: 10s;
    animation-iteration-count: infinite;
    animation-timing-function: ease-out;
}
.top_sticker_hapini:hover{
    animation-play-state: paused;
}

@keyframes chira {
	0% {
        left: -130px;
        transform: rotate(-20deg);
	}
    20% {
        left: -130px;
        transform: rotate(-20deg);
	}
    25%{
		left: -50px;
        transform: rotate(15deg);
    }
    30%{
		left: -50px;
        transform: rotate(15deg);
    }
    35% {
        left: -130px;
        transform: rotate(-20deg);
	}
    45% {
        left: -130px;
        transform: rotate(-20deg);
	}
	50% {
		left: -43px;
        transform: rotate(0);
	}
    90% {
		left: -43px;
        transform: rotate(0);
	}
	100% {
        left: -130px;
        transform: rotate(-20deg);
	}
}

/* モーダルCSSここから */
.modalArea {
    visibility: hidden;
    opacity : 0;
    position: fixed;
    z-index: 999;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: .4s;
}
.modalBg {
    width: 100%;
    height: 100%;
    background-color: rgba(30,30,30,0.9);
}
.modalWrapper {
    position: absolute;
    top: 50%;
    left: 50%;
    transform:translate(-50%,-50%);
    width: 70%;
    max-width: 500px;
    padding: 10px 30px;
    background-color: #fff;
}
.closeModal {
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    cursor: pointer;
}
.is-show { /* モーダル表示用クラス */
    visibility: visible;
    opacity : 1;
}

  

/* こども学科ステッカー */
.top_sticker_c {
    width: 170px;
    position: absolute;
    right: 20px;
    bottom: 20px;
}
.updown {
    filter: drop-shadow( 2px 2px 5px #333);
    animation-name:updown1;   /* アニメーション名の指定 */
    animation-delay:0s;   /* アニメーションの開始時間指定 */
    animation-duration: 3s;   /* アニメーション動作時間の指定 */
    animation-timing-function: ease-in-out;  /* アニメーションの動き指定（徐々に早く）*/
    animation-iteration-count: infinite; 
}
@keyframes updown1 {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
  100% {
    transform: translateY(0);
  }
}
@media screen and (min-width: 768px) {

    .top_sticker_c {
        width: 200px;
        position: absolute;
        right: 20px;
        bottom: 100px;
    }
    
}


/* アイキャッチに重なって見えるニュース部分 */

#eyecatch_news_warning a{
	background: rgba(241, 84, 84, 0.8);
}

.eyecatch_news {
	width: 40%;
	position: absolute;
	bottom: 20px;
	left: 0px;
	color: #e1f5fd;
	font-size: 0.8rem;
	line-height: 1.2rem;
	z-index: 1;
}
.eyecatch_news li a {
	display: block;
	background: rgba(84, 195, 241, 0.8);
	width: 100%;
	padding: 10px 5px 10px 10px;
	margin: 5px 0;
}
.eyecatch_news_title {
	font-size: 0.8rem;
	line-height: 1.2rem;
	margin: 0 0 5px 0;
}
.eyecatch_news_content {
	display: none;
}
.eyecatch_news li a figure {
	display: none;/*上でnoneしてるけど一応*/
}

/* Eventセクション
------------------------------------------------------------------------------------------*/
.event_frame {
	width: 95%;
	margin: 100px auto;
}
.event_img {
	width: 90%;
	max-width: 500px;
	margin: 0 auto 30px;
	transform: rotate(3deg);
}
.event_img img {
	box-shadow: 5px 5px 5px #aaa;
}
.event_text {
	width: 100%;
	font-size: 1rem;
	font-weight: normal;
	line-height: 2rem;
	text-align: center;
}
.event_text_title {
	font-size: 1.5rem;
	line-height: 2rem;
	margin: 0 0 20px 0;
}
.event_text_time {
	margin: 0 0 20px 0;
}
.event_text_time span {
	padding: 5px 10px;
	border-radius: 10px;
}
.event_text_date {
	width: 95%;
	margin: 0 auto 30px;
	padding: 20px 0;
	font-size: 1.2rem;
}
.event_text_date a {
	margin: 10px 0 0 0;
	width: auto;
	text-decoration: underline;
}
.event_text_date span {
	font-size: 2rem;
	font-weight: 700;
}
.event_text_btn {
	width: 210px;
	margin: 0 auto 30px;
}
.event_text_btn a {
	color: #222;
	padding: 5px 10px;
	font-size: 0.8rem;
	border-radius: 20px;
}

.event_text h3 {
	font-size: 1.7rem;
	font-family: 'M PLUS 1p', sans-serif;
	font-weight: normal;
}

/*Topicsセクション box型 base.cssに移動
------------------------------------------------------------------------------------------*/


/* Other Information
------------------------------------------------------------------------------------------*/

/*Other部分の書式*/
.other {
	text-align: center;
}
.other li a {
	border: 1px #222 solid;
	font-size: 0.8rem;
	line-height: 1rem;
	height: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 5px;
}


/*****************************************************************************************
基本のレイアウト（スマホ向けレイアウト）終わり*/



/*タブレット・PC向けレイアウト768px～
******************************************************************************************/
@media screen and (min-width: 768px) {


/*h2の文字部分が縦位置で中央にくるように*/
.h2_old {
	padding: 185px 0 0 0;
	min-width: 768px;
}

/* 元h3 */
h2 {
	font-size: 2.5rem;
	line-height: 3rem;
	padding: 20px 0 0 0;
}
/* アイキャッチ
-----------------------------------------------------------------------------------------*/


/* フェードスライド用 */
.eyecatch {
	height: 80vh;
}
.catchphrase {
	top: 30px;
	left: 2%;
	width: 60vmin;
}
.eyecatch_img_pc {
	background-position: center center;
	background-size: cover;
	height: 80vh;
}


/* さがしていた未来部分の文字の画像、グラデーション、背景画像 */
/*前のアイキャッチ
.eyecatch {
	background-image: url("../img/top_text_index.png"), linear-gradient( 120deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.3) 20%, rgba(0, 0, 0, 0.3) 20%, rgba(0, 0, 0, 0) 40%), url("../img/top_index_pc.jpg");
	background-position: top 50px left 6%, center center, center center;
	background-size: 60vmin, cover, cover;
	height: 80vh;
}
*/

/* メッセージ部分 手入力したい場合 */
.eyecatch_text_main {
	width: 48%;
	max-width: 400px;
	background: rgb(0,0,0,0.7);
	position: absolute;
	top: 50px;
	left: 0px;
	padding: 20px 20px 20px 10px;
	font-size: 4vmin;
	line-height: 4rem;
	writing-mode: horizontal-tb;
}

/* アイキャッチに重なって見えるニュース部分 */

#warning {
	
}
.eyecatch_news {
	display: flex;
	/*justify-content: center;中央がいいと言われたら*/
	width: 100%;
	left: 0px;
	bottom: -60px;

}
.eyecatch_news li a {
	width: 300px;
	height: 150px;
	padding: 15px;
	margin: 10px;
	box-shadow: 2px 2px 5px #333;
}
.eyecatch_news li a:hover {
	transform: translate(0px,-10px);
}
.eyecatch_news_title {
	font-size: 1rem;
	line-height: 1.5rem;
	margin: 0 0 15px 0;
	border-bottom: 1px #c2eafa solid;
}
.eyecatch_news_content {
	display: flex;
	
}
.eyecatch_news li a figure {
	display: block;
	width: 40%;
	height: 78px;
	margin: 0 3% 0 0;
}
.eyecatch_news li a:hover img {
	opacity: 1;/* マウスホバー時の動作を打ち消し */
	transform: none;/* マウスホバー時の動作を打ち消し */
}
.eyecatch_news_text {
	width: 57%;
	font-size: 0.8rem;
	line-height: 1.2rem;
}

/* Eventセクション
------------------------------------------------------------------------------------------*/

.event_frame {
	width: 95%;
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
}
.event_img {
	width: 40%;
	margin: 70px 0 0 0;
}

.event_text {
	width: 55%;
	font-size: 1.5rem;
	line-height: 2.5rem;
}
.event_text_title {
	font-size: 3rem;
	line-height: 4rem;
}
.event_text_time {
	margin: 0 0 30px 0;
	line-height: 3rem;
}
.event_text_date {
	width: 80%;
	padding: 20px;
	font-size: 2rem;
}
.event_text_date span {
	font-size: 3rem;
}
.event_text_btn a {
	border-radius: 25px;
}
.event_text_btn a:hover {
	opacity: 0.8;
	transition: all .1s ease 0s;
}

.event_text h3 {
	font-size: 3.2rem;
}


/* Special Contentsセクション
------------------------------------------------------------------------------------------*/

.special_conts li a:hover {
	opacity: 0.7;
}
.special_conts li a:hover::after {
	border-top: 2px solid #54c3f1;
	border-right: 2px solid #54c3f1;
}


.other li a:hover {
	background: #c2eafa;
}

}/****************************************************************************************
タブレット向け終わり*/



