@charset "UTF-8";
/* CSS Document */

/*ヘッダー＆フッター*/
/*PC*/
@media only screen and (min-width: 1025px) {
	
}

/*SMP*/
@media only screen and (max-width: 1024px) {
	/*ヘッダー*/
	header {
		z-index: 100;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 70px;
		background: #fff;
	}
	
	header .logo {
		position: absolute;
		top: 50%;
		left: 15px;
		transform: translateY(-50%) translateX(0);
		width: 60px;
		height: auto;
	}
	
	header .user_info {
		position: absolute;
		top: 50%;
		right: 15px;
		transform: translateY(-50%) translateX(0);
		width: 200px;
		height: auto;
	}
	
	header .user_info p {
		font-size: 14px;
		font-weight: 600;
		letter-spacing: 1px;
		line-height: 14px;
		text-align: right;
	}
	
	header .user_info p strong {
		display: table;
		position: relative;
		padding: 5px 8px;
		margin: 0 0 7px auto;
		font-size: 12px;
		font-weight: 500;
		letter-spacing: 1px;
		line-height: 12px;
		text-align: right;
		color: #fff;
		background: #000;
		border-radius: 2px;
		box-sizing: border-box;
	}
	
	header .user_info p small {
		position: relative;
		margin-left: 3px;
		font-size: 11px;
		font-weight: 400;
		line-height: 11px;
	}
	
	/*フッター*/
	footer {
		position: relative;
		width: 100%;
		height: auto;
		padding-bottom: 80px;
	}
}

/*トップページ*/
/*PC*/
@media only screen and (min-width: 1025px) {
	
}

/*SMP*/
@media only screen and (max-width: 1024px) {
	
	
	/*トップページ 見出し*/
	.top_title {
		position: relative;
		width: 94%;
		height: auto;
		margin: 0 auto 0 auto;
	}
	
	.top_title h2 {
		position: relative;
		padding: 0 0 0 26px;
		font-size: 18px;
		font-weight: 600;
		letter-spacing: 1px;
		line-height: 18px;
	}
	
	.top_title h2 img {
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%) translateX(0);
		width: 20px;
		height: auto;
	}
	
	/*生徒情報*/
	#member_info {
		position: relative;
		width: 100%;
		height: auto;
		margin: 40px auto 0 auto;
	}
	
	#member_info table {
		position: relative;
		width: 94%;
		height: auto;
		margin: 20px auto 0 auto;
		border-collapse: collapse;
	}
	
	#member_info table tr {
		border-bottom: solid 1px #747474;
	}
	
	#member_info table tr:nth-of-type(1) {
		border-top: solid 1px #747474;
	}
	
	#member_info table tr th {
		position: relative;
		width: 30%;
		height: auto;
		padding: 12px 0 12px 0;
		font-size: 15px;
		font-weight: 500;
		letter-spacing: 1px;
		line-height: 15px;
		text-align: center;
	}
	
	#member_info table tr td {
		position: relative;
		width: 70%;
		height: auto;
		padding: 12px 0 12px 0;
		font-size: 14px;
		font-weight: 400;
		letter-spacing: 1px;
		line-height: 22px;
		text-align: left;
	}
	
	/*スケジュール*/
	#class_schedule {
		position: relative;
		width: 100%;
		height: auto;
		margin: 30px auto 0 auto;
	}
	
	#class_schedule .month {
		position: relative;
		width: 96%;
		height: auto;
		margin: 20px auto 0 auto;
	}
	
	#class_schedule .month h2 {
		margin-bottom: 5px;
		font-size: 16px;
		font-weight: 700;
		letter-spacing: 1px;
		line-height: 16px;
		text-align: right;
	}
	
	#class_schedule .month table tr td a {
		line-height: 13px;
	}
	
	#class_schedule .month table tr td a .fc-content {
		position: relative;
		width: 100%;
		height: 33px;
		overflow: hidden;
	}
	
	#class_schedule .month table tr td span.fc-time {
		display: none;
	}
	
	#class_schedule .month table tr td span.fc-title {
		font-size: 10px;
		font-weight: 600;
		letter-spacing: 0.2px;
		line-height: 13px;
		text-align: left;
	}
	
	/*各校舎お知らせ*/
	#class_info {
		position: relative;
		width: 100%;
		height: auto;
		margin: 30px auto 0 auto;
	}
	
	#class_info .post_list {
		position: relative;
		width: 94%;
		height: auto;
		margin: 20px auto 0 auto;
	}
	
	#class_info .post_list a {
		display: block;
		position: relative;
		font-size: 14px;
		font-weight: 500;
		letter-spacing: 1px;
		line-height: 14px;
		text-align: left;
		color: #000;
	}
	
}

/*初期画面*/
#top_login {
	position: relative;
	width: 100%;
	height: auto;
	padding: 40px 0 40px 0;
}
	
#top_login .mv {
	position: relative;
	width: 100%;
	height: auto;
}
	
#top_login .mv img {
	display: block;
	position: relative;
	width: 200px;;
	height: auto;
	margin: 0 auto 20px auto;
}

#top_login .mv h1 {
	font-size: 20px;
	font-weight: 600;
	letter-spacing: 1px;
	line-height: 20px;
	text-align: center;
}

#top_login .mv h1 font {
	display: block;
	position: relative;
	margin-top: 10px;
	color: #FF9600;
}

#top_login .con {
	position: relative;
	width: 300px;
	height: auto;
	margin: 0 auto 0 auto;
	padding: 30px 0 0 0;
}

#top_login .con a {
	display: block;
	position: relative;
	width: 100%;
	height: auto;
	padding: 20px 0 20px 0;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 1px;
	line-height: 15px;
	text-align: center;
	color: #fff;
	box-sizing: border-box;
}

#top_login .con a:nth-of-type(1) {
	margin: 0 auto 20px auto;
	background: #1A1A1A;
}

#top_login .con a:nth-of-type(2) {
	margin: 0 auto 0 auto;
	background: #FF9600;
}


/*ログイン画面*/
#login {
	position: relative;
	width: 320px;
	height: auto;
	margin: 30px auto 30px auto;
}

/*ログイン画面*/
#password_reset {
	position: relative;
	width: 320px;
	height: auto;
	margin: 30px auto 30px auto;
}

/*新規登録*/
#register {
	position: relative;
	width: 320px;
	height: auto;
	margin: 30px auto 30px auto;
}

/*ユーザーページ*/
#user {
	position: relative;
	width: 100%;
	height: auto;
	padding: 0 0 30px 0;
}

#user .um-profile-nav {
	display: none;
}

#user .um-profile-body {
	position: relative;
	width: 90%;
	height: auto;
	margin: 0 auto 0 auto;
}

#user .um-dropdown-b ul li:nth-of-type(2) {
	display: none;
}

#user a.btn {
	display: block;
	position: relative;
	width: 300px;
	height: auto;
	padding: 20px 0 20px 0;
	margin: 0 auto 0 auto;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 1px;
	line-height: 15px;
	text-align: center;
	color: #fff;
	background: #FF9600;
	box-sizing: border-box;
}

/*未ログインの場合*/
/*PC*/
@media only screen and (min-width: 1025px) {
	
}

/*SMP*/
@media only screen and (max-width: 1024px) {
	#nologin {
		position: relative;
		width: 100%;
		height: auto;
	}
	
	#nologin .mv {
		position: relative;
		width: 100%;
		height: auto;
	}
	
	#nologin .mv .img {
		z-index: 0;
		position: relative;
		width: 100%;
		height: auto;
	}
	
	#nologin .mv .img::after {
		content: "";
		z-index: 1;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(0,0,0,0.30);
	}
	
	#nologin .mv .img img {
		display: block;
		position: relative;
		width: 100%;
		height: auto;
	}
	
	#nologin .title {
		z-index: 1;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translateY(-50%) translateX(-50%);
		width: 80%;
		height: auto;
	}
	
	#nologin .title p {
		font-size: 20px;
		font-weight: 600;
		letter-spacing: 2px;
		line-height: 20px;
		text-align: left;
		color: #fff;
	}
	
	#nologin .title p font {
		display: block;
		position: relative;
		padding-left: 25px;
		margin-top: 8px;
		font-size: 16px;
		font-weight: 500;
		letter-spacing: 2px;
		line-height: 16px;
		text-align: left;
		color: #fff;
	}
	
	#nologin .title p font::before {
		content: "";
		position: absolute;
		top: 54%;
		left: 0;
		transform: translateY(-50%) translateX(0);
		width: 18px;
		height: 1.5px;
		background: #fff;
	}
	
	#nologin .form {
		position: relative;
		width: 90%;
		height: auto;
		margin: 20px auto 0 auto;
	}
	
}

/*****土曜日*****/
/*見出しの背景色*/
.eo-fullcalendar .fc-day-header.fc-sat {
    background: #98E7FD;
}

/*枠の背景色*/
.eo-fullcalendar .fc-bg .fc-sat {
    background: #EBFAFD;
}

/*****日曜日*****/
/*見出しの背景色*/
.eo-fullcalendar .fc-day-header.fc-sun {
    background: #FDA4A7;
}

/*枠の背景色*/
.eo-fullcalendar .fc-bg .fc-sun {
    background: #FDEDEE;
}