/* --------------------------------------
style.css
----------------------------------------- */

*{
	box-sizing: border-box;
	font-family: 'Noto Sans JP', sans-serif;
	font-feature-settings: "palt";
	letter-spacing: 1px;
}

body{
	min-width: 1200px;
}

.red{
	color:#FF0000;
}

.blue{
	color:#0000FF;
}

.bold{
	font-weight: bold;
}

.indent{
	margin-left: 1em;
	display: block;
}

#errors{
	color: #ff0000;
	text-align: center;
	margin: 20px auto;
	line-height: 1.5rem;
	font-size: 15px;
	border-radius: 5px;
	background-color: rgba(255,255,255,.9);
	font-weight: bold;
	display: flex;
	justify-content: center;
	align-items: center;
	letter-spacing: .08em;
	max-width: 350px;
	display: block;
}

/* 1024px以下は非表示にしたい場合 */
@media screen and (min-width:1025px) {
	.tablet{
	display: none!important;
	}
	.tablet_only{
	display: none!important;
	}
}
@media screen and (max-width:1024px) {
	body{
		overflow-x: hidden;
	}
	.pc{
	display: none!important;
	}
}
@media screen and (min-width:769px) {
	.sp{
	display: none!important;
	}
}

@media screen and (max-width:768px) {
	.tablet_only{
	display: none!important;
	}

	.sp_wide{
	display: none!important;
	}
}

/* --------------------------------------
ヘッダー
----------------------------------------- */

.h_wrap{
	display: flex;
	align-items: flex-end;
	justify-content: flex-start;
	padding: 30px 10px 10px;
	background-color: #FFFFCA;
	position: relative;
	z-index: 100;
	box-shadow: 0 1px 3px rgba(0,0,0,0.3);
}

.h_logo1{
	margin-right: 5px;
}

.h_logo2{
	margin-right: 30px;
}

header .h_wrap>a{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	font-weight: bold;
	color: #5d5d5d;
	font-weight: bold;
	letter-spacing: 1;
	color: #154f71;
	font-family: 'Noto Sans JP', sans-serif;
	letter-spacing: .1em;
}

header .h_wrap>a:nth-child(n+4){
	margin-left: 15px;
}

header .h_wrap>a img{
	margin-bottom: 7px;
}

header .h_wrap>a{
	margin-left: 20px;
}

header .h_wrap>a:hover{
	opacity: .8;
}

.h_wrap>.logout_btn_wrap{
	margin-left: auto;
}

.h_wrap>.logout_btn_wrap form button{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	font-size: 10px;
	font-weight: bold;
	font-family: 'Noto Sans JP', sans-serif;
	letter-spacing: .1em;
	transition: .1s;
}

.h_wrap>.logout_btn_wrap form button:hover{
	opacity: .6;
}

.h_wrap>.logout_btn_wrap form button span{
	white-space: nowrap;
}

h1{
	margin-left: 40px
}

/* タブレット以下のメニュー */
.nav_btn {
	width: 40px;
	height: 30px;
	margin-left: auto;
	position: relative;
	z-index: 100;
}

.nav_btn span{
	display: inline-block;
	width: 40px;
	height: 4px;
	background-color: #3C9DFF;
	position: absolute;
	border-radius: 5px;
	transition: .3s;
}

.nav_btn span:nth-child(1){
	top:0px;
}

.nav_btn span:nth-child(2){
	bottom: 13px;
}

.nav_btn span:nth-child(3){
	bottom: 0px;
}

/* メニュー押下時 */
.nav_btn_activ{
}
.nav_btn_active span{
}
.nav_btn_active span:nth-child(1){
	top: 13px;
	transform: rotate(225deg);
}

.nav_btn_active span:nth-child(2){
	opacity: 0;
}

.nav_btn_active span:nth-child(3){
	bottom: 13px;
	transform: rotate(-225deg);
}

#nav_close{
	display: none;
	position: fixed;
	z-index: 99;
	top: 0;/*全体に広がるように*/
	left: 0;
	width: 100%;
	height: 100%;
	background: black;
	opacity: 0;
	transition: .3s ease-in-out;
}
#nav_contents{
	overflow: auto;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99;
	width: 90%;
	max-width: 390px;
	height: 100%;
	background: #FFFFCA;
	transition: .3s ease-in-out;
	-webkit-transform: translateX(-105%);
	transform: translateX(-105%);
	padding:20px;
}

.nav_contents1 a{
	width: 49%;
	height: 80px;
	background-color: #3C9DFF;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	margin: 3px 1px;
	color:#fff;
	transition: .1s;
	box-shadow: 0px 3px #0656a7;
}

.nav_contents1 a img{
	margin-bottom: 10px;
}

.nav_contents1 a:hover{
	background-color: #a8d3ff;
}
.nav_contents1 a{
	padding: 5px;
	margin: 1% .5%;
}

#nav_contents .logout_btn_wrap{
	margin-top: 20px;
}

#nav_contents .logout_btn_wrap button{
	display: flex;
	align-items: center;
	justify-content: flex-start;
	font-family: 'Noto Sans JP', sans-serif;
}

#nav_contents .logout_btn_wrap button img{
	margin-right: 5px;
}

@media screen and (max-width:1024px) {
	.h_wrap{
	padding: 30px 15px 10px;
	}
	header .h_wrap>a{
	display: none;
	}
}
@media screen and (max-width:480px) {
	#nav_contents{
	max-width: 260px;
	padding: 20px 5px;
	}
	.nav_contents1 li a{
	font-size: 11px;
	}
}
/* -------------------------------------------
青いバー
---------------------------------------------- */
.moving_var{
	background-color: #00B3F0;
	height: 30px;
	width: 100%;
	position: relative;
	overflow: hidden;
}

.moving_var_over:before{
	position: absolute;
	content: '';
	display: inline-block;
	top: 1000px;
	left: 0;
	width: 100%;
	height: 50px;
	background-color: #fff;
	transform: rotate(45deg);
	animation: shiny-btn1 3s ease-in-out infinite;
}


@-webkit-keyframes shiny-btn1 {
	0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
	80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
	81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
	100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}

.moving_var_under:before{
	position: absolute;
	content: '';
	display: inline-block;
	top: -1000px;
	left: 0;
	width: 100%;
	height: 50px;
	background-color: #fff;
	transform: rotate(45deg);
	animation: shiny-btn2 3s ease-in-out infinite;
}

@-webkit-keyframes shiny-btn2 {
	0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
	80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
	81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
	100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}

/* -------------------------------------------
トップコンテンツ（囲い）
---------------------------------------------- */
.main_contents{
	display: flex;
	position: relative;
	overflow-x: hidden;
}

.sub_title{
	margin: 3% 0px 30px 3%;
	font-size: 30px;
	font-family: 'Noto Sans JP', sans-serif;
	color: #3c9dff;
	font-weight: 500;
}

/* -------------------------------------------
サイドメニュー
---------------------------------------------- */

.side_menu{
	background-color: rgb(182 253 218);
	padding-bottom: 30px;
	position: relative;
	z-index: 600;
	min-width: 270px;
	width: 270px;
	min-height: calc(100vh - 30px - 30px - 106px);
}

.side_menu ul{
	padding-bottom: 30px;
}

.side_menu ul li{
	padding: 10px 5px 10px 20px;
	display: flex;
	align-items: center;
	font-family: 'Charm', cursive,'Noto Serif JP', serif;
	cursor: pointer;
	transition: all	1s ease;
	background-color:transition;
	line-height: 1.5rem;
	font-family: 'Noto Sans JP', sans-serif;
	color: #333;
	font-weight: bold;
	font-size: 14px;
	letter-spacing: .1em;
}
.side_menu ul li a{
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

.side_menu ul li img{
	margin-right: 10px
}

.side_menu>ul li:hover{
	box-shadow: 3px 3px 3px rgb(86 105 96);
	webkit-transform: translateY(-5px);
	-ms-transform: translateY(-5px);
	transform: translateY(-5px);
}

.rap_btn{
	padding-left: 20px;
	transition: all 0.3s ease;
}

.rap_btn:hover{
	opacity: .8;
}

.user_status{
	padding: 15px 20px;
	font-size: 12px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	font-family: 'Noto Sans JP', sans-serif;
	letter-spacing: .1em;
	color: #333;
	font-weight: bold;
}

.user_status span img{
	max-height: 100%;
	height: auto;
	width: auto;
}

.user_status span:first-child{
	margin-right: 10px;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 1px 3px rgba(106,137,152,0.2)
}

.user_status span:nth-child(2){
	margin-right: 10px;
	word-break: break-all;
	overflow-wrap: break-word;
}

.user_status span:nth-child(3){
	white-space: nowrap;
}

.user_status a{
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
/* -------------------------------------------
サイドメニュー(ドロワーメニュー)
---------------------------------------------- */
.side_menu_p_on{
	border-bottom: 1px solid #3c9dff!important;
	box-shadow: 3px 3px 3px rgb(86 105 96);
	webkit-transform: translateY(-5px);
	-ms-transform: translateY(-5px);
	transform: translateY(-5px);
	background-color: #3c9dff;
}

.side_menu_p_on a{
	display:block;
	width:270px;
	padding:inherit;
	margin:-10px -5px -10px -20px;
}

.side_menu_p_on:first-child{
	border-top:	1px solid #3c9dff!important;
}

.side_menu_c{
	position: absolute;
	width: 270px;
	height: 100%;
	background-color: #3c9dff;
	padding-bottom: 30px;
	left: -270px;
	z-index: 100;
	transition: all 0.5s ease;
	overflow-y: scroll;
	overflow-x: visible;
	white-space: normal;
	top: 0px;
	z-index: 90;
	scrollbar-width: none;
	-ms-overflow-style: none;
}

.side_menu_c::-webkit-scrollbar{
	display: none;
}


.side_menu_c_on{
	position: absolute;
	width:270px;
	background-color: #d44067;
	padding-bottom: 30px;
	left: 270px;
	z-index: 100;
	transition: all	0.5s ease;
}

.side_menu_c ul li{
	padding: 15px 5px 15px 15px;
	align-items: center;
	color: #fff;
	transition: all	0.5s ease;
	cursor: pointer;
	line-height: 1.5rem;
	font-weight: bold;
	font-size: 14px;
	font-family: 'Noto Sans JP', sans-serif;
	letter-spacing: .1em;
}

.side_menu_c ul li a{
	display : block;
	margin: -15px -5px -15px -15px;
	padding : inherit;
}

.side_menu_c ul li.side_menu_c_target{
	background-color: #fff;
	color:#d44067;
}

.side_menu_c ul li:hover{
	background-color:#fff;
	color:#d44067;
}

.side_menu_g{
	position: absolute;
	width: 270px;
	height: 100%;
	background-color: #f69300;
	padding-bottom: 30px;
	left: -270px;
	top: 0px;
	z-index: 80;
	transition: all 0.5s ease;
}

.side_menu_g_on{
	position: absolute;
	width:270px;
	height: 100%;
	background-color: #f69300;
	padding-bottom: 30px;
	left: 540px;
	z-index: 90;
	transition: all	0.5s ease;
}

.side_menu_g ul li{
	padding: 15px 5px 15px 15px;
	align-items: center;
	font-family: 'Noto Serif JP', serif;
	color: #fff;
	transition: all	0.5s ease;
}

.side_menu_g ul li:hover{
	background-color:#fff;
	color:#f69300;
}

@media screen and (max-width:1024px) {
	.main_contents .user_status{
	display: none;
	}
	.main_contents .side_menu{
	display: none;
	}
	.main_contents .side_menu_g{
	display: none;
	}
	.nav_contents1{
	margin-bottom: 10%;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	flex-wrap: wrap;
	}
	.nav_contents2>ul>li>p{
	padding: 15px 5px;
	border:1px solid #FFFFCA;
	display: flex;
	align-items: center;
	font-weight: bold;
	font-size: 12px;
	}
	.nav_contents2 .side_menu_c ul li{
	font-size: 12px;
	}
	.nav_contents2 ul li p img{
	margin-right: 10px;
	}
	.nav_contents2>ul>li{
	position: relative;
	}
	.nav_contents2>ul>li>p>a{
	display: flex;
	align-items: center;
	}
	.logout_btn_wrap{
	font-size: 13px;
	}
	.nav_contents2 ul li p li{
	display: flex;
	align-items: center;
	}
	.side_menu_p_on{
	transform: none;
	box-shadow: none;
	}
	.nav_contents2 .side_menu_c{
	position: static;
	width: 100%;
	background-color: transparent;
	padding-bottom: 0px;
	overflow-y: visible;
	}

	.nav_contents2 .side_menu_c ul li{
	background-color: #d44067;
	border-top:1px solid #FFFFD9;
	color: #fff;
	padding: 15px;
	}
	.nav_contents2 .side_menu_c ul li a{
	padding: 15px;
	}
	.nav_contents2 .side_menu_c ul li:hover{
	color:#fff;
	}
	.nav_contents2>ul>li>.side_menu_c{
	display: none;
	transition: none;
	}
	.side_menu_g{
	position: static;
	padding: 0px;
	width: 100%;
	}
	.side_menu_g ul li a{
	background-color: #f69300!important;
	padding: 15px;
	display: block;
	}
	.side_menu_g{
	display: none;
	transition: auto;
	}
	.nav_contents2 .side_menu_c{
	height: auto;
	}
	.user_status{
	padding: 15px 5px;
	}
}

@media screen and (max-width:480px) {
	.nav_contents1 {
	margin-bottom: 5%;
	}
	.nav_contents1 a{
	font-size: 11px;
	}
	.nav_contents2>ul>li>p{
	font-size: 12px;
	}
	.nav_contents2>ul>li>.side_menu_c{
	font-size: 12px;
	}
}
/* ---------------------------------------
index動画
------------------------------------------ */
 .indexContents .iframe_wrap{
	width: 760px;
	padding-top: 385px;
 }

 .indexContents .contents_top_load .movie_wrap {
	padding-top: 85px!important;
	margin-left: 0px!important;
}


 @media screen and (max-width:1024px) {
	body{
	 min-width: auto;
	}
	.indexContents .indexMovie{
	 display: flex;
	 justify-content: center;
	 margin: 20px auto;
	}
	.indexContents .movie_wrap{
	 min-height: calc(100vh - 30px - 30px - 106px);
	}
}

@media screen and (max-width:768px) {
	.indexContents .iframe_wrap{
	width: 90%;
	padding-top: 50.55%;
	}
	.indexContents .contents_top_load .movie_wrap{
	margin: auto!important;
	}
}
/* ---------------------------------------
アクティブコンテンツカテゴリ表示
------------------------------------------ */
.activetraning_category_wrap{
	position: fixed;
	transition: .3s;
	opacity: 0;
	z-index: -1;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
}

.activetraning_category_wrap_active{
	bottom: 0vw;
	width: 100vw;
	height: 100vh;
	background: rgba(0,0,0,.8);
	z-index: 10000;
	opacity: 100;
	transition: .3s;
}

.activetraning_category{
	display: flex;
	align-items: center;
	justify-content: flex-start;
	flex-direction: column;
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	top: 0;
	margin: auto;
	width: 500px;
	height: 290px;
	background-color: #fff;
	border: 10px solid #24c2ff;
	border-radius: 20px;
	transform: rotatex(90deg);
}

.activetraning_category_wrap_active .activetraning_category{
	transition: .5s;
	transform: rotatex(0deg);
}

.activetraning_category_text{
	display: flex;
	align-items: center;
	justify-content: flex-start;
	margin-bottom: 20px;
	margin-top: 40px;
	font-weight: bold;
	font-size: 20px;
	color: #24c2ff;
}

.activetraning_category_wrap .activetraning_category_close{
	background: #24c2ff;
	border: solid 5px #24c2ff;
	box-shadow: inset 1.5px 1.5px 0px rgba(255,255,255,.25), inset -1.5px -1.5px 0px rgba(0,0,0,.18);
}


.activetraning_category_text img{
	margin-right: 10px;
}

.activetraning_category_select_wrap>p:first-child{
	color: #696969;
	margin-bottom: 10px;
}

.activetraning_category_select_wrap form{
	text-align: center;
}

.activetraning_category_select_wrap form select{
	border: 2px solid #24c2ff;
	border-radius: 5px;
	padding: 10px;
	appearance: auto;
	margin-bottom: 10px;
	transition: .5s;
	color: #24c2ff;
}

.activetraning_category_select_wrap button{
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0px 0px 0px 30px;
	border-radius: 5px;
	color: #fff;
	padding: 10px 15px;
	font-family: 'Noto Sans JP', sans-serif;
	transition: .1s;
	background-color: #24c2ff;
	box-shadow: 0px 3px 0px #046990;
	border-radius: 10px;
}

.activetraning_category_select_wrap button:hover{
	box-shadow: inset -1.5px -1.5px 0px rgba(255,255,255,.15), inset 1.5px 1.5px 0px rgba(0,0,0,.08);
}

.activetraning_category_select_wrap table tr{
	border:none;
}

.activetraning_category_select_wrap table tr:last-child{
	border:none;
}

.activetraning_category_select_wrap table tr .table_btn{
	margin-top: 20px;
}

.activetraning_category_select_wrap>p{
	text-align: center;
}

.activetraning_btn{
	display: flex;
	z-index: 1000;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 110px;
	width: 175px;
	border-radius: 50px;
	left: 30px;
	position: relative;
	filter: drop-shadow(0px 10px 5px rgba(0,0,0,0.5));
}

.activetraning_btn:after{
	content: "";
	width: 125px;
	height: 125px;
	border-radius: 50%;
	display: inline-block;
	background-color: #00b3f0;
	top: 0px;
	bottom: 0;
	position: absolute;
	z-index: -1;
	right: 0;
	left: 0;
	margin: auto;
	filter: drop-shadow(0px 3px 3px rgba(0,0,0,.5));
}

.activetraning_btn:hover{
	opacity: .8;
}

.activetraning_btn:hover img{
	animation: korokoro 2s linear 0s 1;
}

@keyframes korokoro {
	0%	{ transform: translate(0%, 0%); }
	5%	{ transform: translate(7%, 0%) rotate(7deg); }
	25%	{ transform: translate(12%, 0%) rotate(12deg); }
	30%	{ transform: translate(-10%, 0%) rotate(-10deg); }
	35%	{ transform: translate(-12%, 0%) rotate(-12deg); }
	45%	{ transform: translate(10%, 0%) rotate(10deg); }
	50%	{ transform: translate(15%, 0%) rotate(15deg); }
	60%	{ transform: translate(-5%, 0%) rotate(-5deg); }
	65%	{ transform: translate(-7%, 0%) rotate(-7deg); }
	75%	{ transform: translate(0%, 0%) rotate(0deg); }
	100% { transform: translate(0%, 0%) rotate(0deg); }
}

.activetraning_btn img{
	width: 80px;
	height: auto;
	margin-bottom: 5px;
}

.activetraning_btn span{
	display: block;
	font-family: 'Noto Sans JP', sans-serif;
	letter-spacing: .1em;
	color: #333;
	font-weight: bold;
	text-shadow	:
	 2px	2px 1px #ffffff,
	-2px	2px 1px #ffffff,
	 2px -2px 1px #ffffff,
	-2px -2px 1px #ffffff,
	 2px	0px 1px #ffffff,
	 0px	2px 1px #ffffff,
	-2px	0px 1px #ffffff,
	 0px -2px 1px #ffffff;		/* 文字の影 */
}

.activetraning_btn span span:nth-child(1){
	font-size: 10px;
}

.activetraning_btn span span:nth-child(2){
	font-size: 12px;
}

/* ---------------------------------------
ドリルカテゴリ表示
------------------------------------------ */
.drill_category_wrap{
	position: fixed;
	transition: .3s;
	opacity: 0;
	z-index: -1;
	bottom: 0px;
	top: 0px;
	right: 0px;
	left: 0px;
}

.drill_category_wrap_active{
	bottom: 0vw;
	width: 100vw;
	height: 100vh;
	background: rgba(0,0,0,.8);
	z-index: 10000;
	opacity: 100;
	transition: .3s;
}

.drill_category{
	display: flex;
	align-items: center;
	justify-content: flex-start;
	flex-direction: column;
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	top: 0;
	margin: auto;
	width: 500px;
	height: 500px;
	background-color: #fff;
	border: 10px solid #24c2ff;
	border-radius: 20px;
	transform: rotatex(90deg);
}

.drill_category_wrap_active .drill_category{
	transform: rotatex(0deg);
	transition: .5s;
}

.drill_category_text{
	display: flex;
	align-items: center;
	justify-content: flex-start;
	margin-bottom: 20px;
	margin-top: 40px;
	font-weight: bold;
	font-size: 20px;
	color: #24c2ff;
}

.drill_category_wrap .drill_category_close{
	background: #24c2ff;
	border: solid 5px #24c2ff;
	box-shadow: inset 1.5px 1.5px 0px rgba(255,255,255,.25), inset -1.5px -1.5px 0px rgba(0,0,0,.18);
	padding: 15px 20px;
}


.drill_category_text img{
	margin-right: 10px;
}

.drill_category_select_wrap>p:first-child{
	color: #696969;
	margin-bottom: 10px;
}

.drill_category_select_wrap form{
	text-align: center;
}

.drill_category_select_wrap form select{
	border: 2px solid #24c2ff;
	border-radius: 5px;
	padding: 10px;
	appearance: auto;
	margin-bottom: 10px;
	transition: .5s;
	color: #24c2ff;
}

.drill_category_select_wrap button{
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0px 0px 0px 30px;
	border-radius: 5px;
	color: #fff;
	padding: 10px 15px;
	font-family: 'Noto Sans JP', sans-serif;
	position: relative;
	top: 0px;
	transition: .1s;
	background-color: #24c2ff;
	box-shadow: 0px 3px 0px #046990;
}

.drill_category_select_wrap button:hover{
	box-shadow: inset -1.5px -1.5px 0px rgba(255,255,255,.15), inset 1.5px 1.5px 0px rgba(0,0,0,.08);
}

.drill_category_select_wrap table tr{
	border:none;
}

.drill_category_select_wrap table tr:last-child{
	border:none;
}

.drill_category_select_wrap table tr .table_btn{
	margin-top: 20px;
}

.drill_category_select_wrap>p{
	text-align: center;
}

.activeDrillPagingForm{
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10px 35px 10px;
	background-color: #fff;
}

.activeDrillPagingForm button{
	background-color: #3C9DFF;
	color: #fff;
	padding: 10px;
	border-radius: 5px;
	justify-content: space-between;
}

.activeDrillPagingForm button:hover{
	opacity: .7;
}


/* ---------------------------------------
テーブル
------------------------------------------*/
.welcome_wrap{
	margin-top: 20px;
	margin-left: 20px;
	display: inline-block;
	padding: 20px;
	background-color: #ababab;
	border-radius: 5px;

}

.welcome_wrap p{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	color: #fff;
	text-shadow: 0 0 3px #7b7b7b;
}

.welcome_wrap p:nth-child(1){
	white-space: nowrap;
	font-size: 25px;
	margin-bottom: 10px;
}

.welcome_wrap p:nth-child(2){
	font-size: 18px;
}

.welcome_wrap p:nth-child(2) span{
	display: inline-block;
	font-size: 18px;
	animation: wave-text 4s ease-in-out infinite;
	margin-top: 0.4rem;
}


/* アニメーション開始タイミングをずらす */
.welcome_wrap p span:nth-of-type(1){ animation-delay: 0.0s; }
.welcome_wrap p span:nth-of-type(2){ animation-delay: 0.1s; }
.welcome_wrap p span:nth-of-type(3){ animation-delay: 0.2s; }
.welcome_wrap p span:nth-of-type(4){ animation-delay: 0.3s; }
.welcome_wrap p span:nth-of-type(5){ animation-delay: 0.4s; }
.welcome_wrap p span:nth-of-type(6){ animation-delay: 0.5s; }
.welcome_wrap p span:nth-of-type(7){ animation-delay: 0.6s; }
.welcome_wrap p span:nth-of-type(8){ animation-delay: 0.7s; }
.welcome_wrap p span:nth-of-type(9){ animation-delay: 0.8s; }
.welcome_wrap p span:nth-of-type(10){ animation-delay:0.9s; }
.welcome_wrap p span:nth-of-type(11){ animation-delay:1.0s; }
.welcome_wrap p span:nth-of-type(12){ animation-delay:1.1s; }
.welcome_wrap p span:nth-of-type(13){ animation-delay:1.2s; }
.welcome_wrap p span:nth-of-type(14){ animation-delay:1.3s; }

@keyframes wave-text{
	00%{
	transform: translateY(0em);
	}
	10%{
	transform: translateY(-0.4em);
	}
	20%{
	transform: translateY(0em);
	}
	100%{
	transform: translateY(0em);
	}
}

.table_contents_title{
	margin:30px 0px 30px 30px;
	font-size: 30px;
	color: #3c9dff;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-weight: 500;
	text-shadow: 0 0.03em 0.03em #3182d4, 0 0.03em 0.03em #2666a7, 0 0.03em 0.03em #1f5286;
}

.table_contents_title2{
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

.table_contents_title2 a{
	margin-left: auto;
	padding: 5px 20px 10px;
	border-radius: 5px;
	text-shadow: none;
	color: #fff;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 16px;
	transition: .5s;
	background: rgba(249,165,185,1);
}

.table_contents_title2 label{
	margin-left: auto;
	font-size: 16px;
	display: block;
}
.table_contents_title2 label a{
	display: block;
	width: 120px;
	margin-right: auto;
	margin-left: 0;
}
.table_contents_title2 a:before{
	content: "\f2ea";
	display: inline-block;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-right: 5px;
}

.table_contents_title2 a:hover{
	background: rgba(242,135,160,1);
}

 .table_contents{
	width: calc(100vw - 270px);
	max-width: 1500px;
	display: block;
	padding-bottom: 50px;
	padding-right: 20px;
 }

 .table_contents_small{
	max-width: 800px;
	min-width: none;
	margin: 0 0 2% 2%;
 }

table{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
}

table tr{
	border-top: solid 1px #2ed0dc;
}

table tr:last-child {
	border-top: solid 1px #2ed0dc;
}
.table_border_none{
	border:none;
}
table tr th{
	font-weight: 400;
}

table tr td input,table tr td textarea{
	border: 2px solid #848484;
	border-radius: 5px;
	height: 33px;
}

table tr td input[type="text"]{
	width:150px;
	padding: 5px;
	transition: .5s;
	position: relative;
	height: 33px;
}

table tr td textarea{
	width:100%;
	height: 200px;
	resize: none;
	padding: 5px;
	transition: .5s;
	position: relative;
}

table tr td input[type="text"]:focus{
	border: 2px solid #3c9dff;
}

table tr td input[type="radio"]{
	margin: 0 3px;
}

.table_text_l input[type="text"]{
	width: 150px;
}

table tr td input[type="password"]{
	padding: 5px;
	height: 40px;
	max-width: 340px;
}

table tr td input[type="tel"]{
	padding: 5px;
	height: 40px;
}

table tr td input[type="email"]{
	padding: 5px;
	height: 40px;
	max-width: 340px;
}

table tr td input[type="number"]{
	padding: 5px;
	height: 30px;
}

table tr td input[type="date"]{
	padding: 5px;
	height: 30px;
	max-width: 180px;
}

table tr td input[type="password"]:focus{
	border: 2px solid #3c9dff;
	height: 40px;
}

table tr td input[type="file"]{
	border:none;
	border-radius: 0px;
}

table tr td input[name="icon"]{
	margin-top: 5px;
}

table tr td select{
	border:2px solid #848484;
	border-radius: 5px;
	padding: 2px;
	appearance:auto;
}

table tr td select:focus{
	border: 2px solid #3c9dff;
}


table tr td,table tr th{
	padding: 8px 5px;
	vertical-align: middle;
	color: #333;
}

table tr td span{
	margin:0px 3px;
}

table tr td img{
	margin-left: 5px;
	margin-right: 10px;
	max-width: 30px;
	max-height: 30px;
}

.required{
	color: #fff;
	font-size: 12px;
	position: relative;
	z-index: 5;

}

.required:before{
	content: "\5FC5\9808";
	background-color: #fb0b0b;
	display: inline-block;
	padding: 5px;
	border-radius: 5px;
}

.search_box_table tr td .label{
	display: block;
	color:#00b3f0;
	padding: 5px;
	border-radius: 5px;
}

.search_box .search_box_table tr td {
	vertical-align: middle !important;
}

.table_red{
	color: #fb0b0b;
	margin-left: 5px;
}

.tool_btn_wrap{
	display: flex;
	margin: 2% 0 2% 2%;
}

.table_btn{
	display: flex;
	justify-content: center;
	margin-top: 30px;
}

.table_btn input[type="button"],.table_btn button{
	display:inline-block;
	background-color: #f287a0;
	padding: 15px 60px;
	border-radius: 10px;
	color: #fff;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 20px;
	transition: .1s;
	background: #f287a0;
	border: solid 5px #f287a0;
	box-shadow: inset 1.5px 1.5px 0px rgba(255,255,255,.25), inset -1.5px -1.5px 0px rgba(0,0,0,.18);
	margin:5px;
}

.table_btn input[type="button"]:hover,.table_btn button:hover{
	box-shadow: inset -1.5px -1.5px 0px rgba(255,255,255,.15), inset 1.5px 1.5px 0px rgba(0,0,0,.08);
}

.table_btn input[type="submit"]{
	display:inline-block;
	background-color: #f287a0;
	padding: 15px 60px;
	border-radius: 10px;
	color: #fff;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 16px;
	box-shadow: 0px 3px 0px #804a57;
	position: relative;
	top: 0px;
	transition: .1s;
}

.table_btn input[type="submit"]:hover{
	box-shadow: none;
	top: 3px;
}

.table_btn_double input[type="submit"]{
	padding: 15px 30px;
	margin: 0px 10px;
}

.table_btn_double input[type="submit"]:first-child{
	background-color: #3c9dff;
	box-shadow: 0px 3px 0px #296db2;
}

.table_btn_double input[type="submit"]:first-child:hover{
	box-shadow: none;
	top: 3px;
}

#withdrawal_btn,#withdrawal_exec{
	background-color: #7d7d7d;
	box-shadow: inset 1.5px 1.5px 0px rgba(255,255,255,.25), inset -1.5px -1.5px 0px rgba(0,0,0,.18);
	border: solid 5px #7d7d7d;
}

#withdrawal_btn:hover,#withdrawal_exec:hover{
	box-shadow: inset -1.5px -1.5px 0px rgba(255,255,255,.15), inset 1.5px 1.5px 0px rgba(0,0,0,.08);
}


.students_card_img img{
	max-width: 200px;
	max-height: 200px;
}


.tool_box{
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: center;
}

.tool_box1{
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: center;
}

.tool_box2{
	width: 130px;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: center;
}

.tool_box3{
	width: 110px;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: flex-start;
}

.tool_box:nth-child(n + 2){
	margin-left: 15px;
	align-items: flex-start;
}
.tool_box p{
	margin-bottom: 10px;
	color: #3c9dff;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

.tool_box p select{
	border:1px solid #848484;
	appearance:auto;
	margin: 0 40px 0 10px;
}

.tool_box p:hover{
	opacity: 0.8;
}

.tool_box p:last-child{
	margin: 0px;
}

.search_box{
	margin: 0 0 0 2%;
	padding: 10px;
	border: solid 1px #e9e9e9;
	display: inline-block;
	border-radius: 10px;
}

.search_box select,.search_box input,.search_box button{
	padding: 5px 15px;
	font-size: 14px;
}

.search_box select{
	padding: 3px 15px;
	border: solid 1px #cccccc;
	text-align: center;
	border-radius: 5px;
	background-color: #e2e2e2;
	background-image: linear-gradient(#e8e8e8 0%, #d6d6d6 100%);
	color: rgb(0 0 0 / 50%);
	text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.66);
	box-shadow: inset 0 1px 0 rgba(255,255,255,0.5), 0 1px 1px rgba(0, 0, 0, 0.19);
	appearance: auto;
}

.search_box input{
	border:1px solid #d6d6d6;
	border-radius: 5px;
}

.search_box input[type="text"]{
	width: 100%;
}
.member_search_age input[type="number"]{
	width: 10%;
}

.search_box button{
	text-align: center;
	border-radius: 5px;
	background-color: #e2e2e2;
	background-image: linear-gradient(#4c4a4a 0%, #403f3f 100%);
	color: rgb(0 0 0 / 50%);
	box-shadow: inset 0 1px 0 rgba(255,255,255,0.5), 0 1px 1px rgba(0, 0, 0, 0.19);
	color: #fff;
	transition: .3s;
	padding: 8px;
}

.search_box .search_box_table tr,.search_box .search_box_table tr:last-child{
	border:none;
}

.search_box .search_box_table tr td{
	padding: 5px 8px;
	vertical-align: top;
}

.search_box .search_box_table tr:last-child td{
	text-align: center;
	padding-top: 18px;
}

.search_box .search_box_table tr td div{
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: flex-start;
}
.search_box .search_box_table tr td:nth-child(1){
	font-size: 15px;
	font-weight: bold;
	white-space: nowrap;
}

.search_box .search_box_table tr td:nth-child(2){
	font-size: 13px;
}

.search_box .search_box_table tr td div p{
	display: flex;
	align-items: center;
	justify-content: flex-start;
	margin-right: 25px;
	height: 25px;
}

@media screen and (max-width:480px) {
	.search_box .search_box_table .sp_newline{
	height: 45px;
	}
}
.search_box .search_box_table tr td div p input{
	margin: 0px 2px 0px ;
}

.delete_confirm_btn{
	display: flex;
	align-items: center;
	justify-content:center;
	margin-top: 30px;
	margin-bottom: -10px;
	color: #656464;
}

.delete_confirm_btn span{
	color: #656464;
}

@media screen and (max-width:480px) {
	.search_box{
	width: 95%;
	margin: auto;
	display: block;
	}
}


.table_wrap{
	overflow-x: auto;
	margin: 2% 0 2% 2%;
}

.fix_table tr td,.fix_table tr th{
	font-size: 14px;
	text-align: left;
	padding: 15px;
}

.fix_table tr:first-child{
	background-color: #00b3f0;
}

.fix_table tr:nth-child(2n){
	background-color: #e5faff;
}

.fix_table tr:first-child td,.fix_table tr:first-child th{
	color: #fff;
	font-size: 14px;
	white-space: nowrap;
	padding: 15px;
}

.fix_table tr:last-child{
	border-bottom: solid 1px #2ed0dc;
}

.fix_table tr.fix_table_tr01{
	background-color: #f9efb6;
}

.fix_table tr td:last-child{
	white-space: nowrap;
}
.fix_table{
	width: auto;
}

.group_menber_table{
	table-layout: fixed;
	width: 764px !important;
}

.group_menber_table tr td, .info_table tr td{
	overflow-wrap: break-word;
	padding: 15px 6px !important;
	white-space: normal !important;
}

.group_menber_table tr td:nth-child(1), .info_table tr td:nth-child(1){
	width: 2% !important;
}

.group_menber_table tr td:nth-child(2){
	width: 4% !important;
}

.group_menber_table tr td:nth-child(3){
	width: 2% !important;
}

.group_menber_table tr td:nth-child(4){
	width: 7% !important;
}

.group_menber_table tr td:nth-child(5) , .info_table tr td:nth-child(3), .info_table tr td:nth-child(4){
	width: 3% !important;
}

.group_menber_table tr td:nth-child(6){
	width: 3% !important;
}

.group_menber_table tr td:nth-child(7){
	width: 3% !important;
}

.group_menber_table tr td:nth-child(8){
	width: 3% !important;
}

.group_menber_table tr td:last-child{
	width: 10% !important;
}

.disclosure_range{
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	flex-wrap: wrap;
}

.disclosure_range p{
	margin: 1.5% 2%;
}

.disclosure_range p span{
	margin-right: 1%;
}

.Unanswered{
	color: #f71659;
}

.message_table tr td.Answered{
	color: #3c9dff;
}

.details_table{
	margin-left: 30px;
}

.details_table tr td,.details_table tr th{
	font-size: 16px;
}

.details_table tr{
	border-bottom: solid 2px #fff;
	border-top: none;
}

.details_table tr:last-child{
	border-bottom:none;
}

.details_table tr td:first-child,.details_table tr th:first-child{
	background-color: #62affd;
	color: #fff;
	position: relative;
	text-align: center;
	padding: 10px 20px;
	white-space: nowrap;
}

.details_table tr td:first-child:after,.details_table tr th:first-child:after{
	display: block;
	content: "";
	width: 0px;
	height: 0px;
	position: absolute;
	top:calc(50% - 10px);
	right:-10px;
	border-left: 10px solid #62affd;
	border-top: 10px solid transparent;
	border-bottom: 10px solid transparent;
}


.details_table tr td:nth-child(n+2),.details_table tr th:nth-child(n+2){
	background-color: #eee;
	padding-left: 20px;
}


.details_btn_wrap{
	border-right: none!important;
	border-bottom: none!important;
	border-left: none!important;
}

.details_table tr.details_btn_wrap td:first-child:after{
	content: unset;
}

.details_table .details_btn_wrap:last-child{
	border-top: none!important;
}

.details_table .details_btn_wrap:last-child td{
	padding-top: 30px;
}

.details_table .details_btn_wrap .resume_btn button{
	background: #3c9dff;
	border: solid 5px #3c9dff;
	box-shadow: inset 1.5px 1.5px 0px rgba(255,255,255,.25), inset -1.5px -1.5px 0px rgba(0,0,0,.18);
	padding: 15px 40px;
}

.details_table .details_btn_wrap .resume_btn button:hover{
	box-shadow: inset -1.5px -1.5px 0px rgba(255,255,255,.15), inset 1.5px 1.5px 0px rgba(0,0,0,.08);
}

.details_table tr.details_btn_wrap td{
	border-right: none;
	background-color: transparent;
}
.details_btn{
	text-align: center;
	margin-top: 10px;
}

.table_details_link{
	text-align: center;
}

.table_details_link button{
	display: inline-block;
	padding: 5px 10px;
	border-radius: 5px;
	color: #333;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 20px;
	transition: .1s;
	white-space: nowrap;
	color: #FFF;
	background: #fd9535;/*背景色*/
	border-bottom: solid 2px #d27d00;/*少し濃い目の色に*/
	border-radius: 4px;/*角の丸み*/
	box-shadow: inset 0 2px 0 rgba(255,255,255,0.2), 0 2px 2px rgba(0, 0, 0, 0.19);
	font-weight: bold;
}

.table_details_link button i{
	font-weight: 900;
	margin-left: 5px;
}

.table_details_link button:hover{
	border-bottom: solid 2px #fd9535;
	box-shadow: 0 0 2px rgba(0, 0, 0, 0.30);
}

.table_details_resume_link{
	text-align: center;
}

.table_details_resume_link button{
	display: inline-block;
	padding: 5px 10px;
	border-radius: 5px;
	color: #333;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 20px;
	transition: .1s;
	white-space: nowrap;
	color: #FFF;
	background: #f287a0;/*背景色*/
	border-bottom: solid 2px #b76578;/*少し濃い目の色に*/
	border-radius: 4px;/*角の丸み*/
	box-shadow: inset 0 2px 0 rgba(255,255,255,0.2), 0 2px 2px rgba(0, 0, 0, 0.19);
	font-weight: bold;
}

.table_details_resume_link button i{
	font-weight: 900;
	margin-left: 5px;
}

.table_details_resume_link button:hover{
	border-bottom: solid 2px #b76578;
	box-shadow: 0 0 2px rgba(0, 0, 0, 0.30);
}

.details_table tr.resume_table td:first-child, .details_table tr.resume_table th:first-child{
	background-color: #f287a0;
}

.details_table tr.resume_table td:first-child:after, .details_table tr.resume_table th:first-child:after{
	border-left: 10px solid #f287a0;
}

.details_table tr.exam_table td:first-child, .details_table tr.exam_table th:first-child{
	background-color: #00dd33;
}

.details_table tr.exam_table td:first-child:after, .details_table tr.exam_table th:first-child:after{
	border-left: 10px solid #00dd33;
}

.register_table{
	width: 100%;
	max-width: 800px;
}
.register_table tr td input[name="mail"]{
	width: 100%;
	max-width: 400px;
}

.register_table tr:last-child{
	border-bottom: solid 1px #e9e9e9;
}

.register_table tr td input[name="address1"]{
	width: 100%;
}

.register_table tr td input[name="address2"]{
	width: 100%;
}

.register_table tr td.table_blue {
	background-color: #fca554;
	color: #fff;
}

.register_table tr td.table_blue:after{
	display: block;
	content: "";
	width: 0px;
	height: 0px;
	position: absolute;
	top:calc(50% - 10px);
	right:-10px;
	border-left: 10px solid #fca554;
	border-top: 10px solid transparent;
	border-bottom: 10px solid transparent;
}

.register_table tr td input[name="schoolName"]{
	width: 80%;
}

.school_name_search{
	display: inline-block;
	background-color: #8f8f8f;
	color: #fff;
	margin-top: 8px;
	padding: 10px 15px;
	border-radius: 5px;
	font-size: 13px;
	letter-spacing: .05em;
	border: 1px solid #cfcfcf;
}

.school_name_search:hover{
	opacity: .7;
}

.pulldown_items td{
	background-color: #fd9535!important;
	padding: 0px;
}
.details_table tr.pulldown_items td:after{
	content: unset;
}

.pulldown_items td p{
	padding: 5px 8px;
	color: #fff;
}

.details_table tr.pulldown_items>td{
	padding: 0px;
}

.pulldown_item_table{
	width: 100%;
}

.pulldown_item_table tr td:first-child{
	background-color: #fff;
}

.pulldown_item_table tr td:first-child:after{
	content: unset;
}

.pulldown_item_table tr td:last-child{
	background-color: #eee!important;
	text-align: right;
}
.pulldown_item_table tr td:last-child p{
	color: #656464;
}
@media screen and (max-width:1024px) {
	.fix_table tr td, .fix_table tr th{
	padding: 0px;
	}
	table tr td.post_column{
	display: flex!important;
	align-items: center;
	justify-content: flex-start;
	}
	.table_contents{
	width: 100%;
	}
}

 @media screen and (max-width:768px) {
	.column_none{
	 display: none;
	}

	.table_contents_title {
	margin: 30px 0px;
	padding: 0px 10px;
	font-size: 27px;
	display: block;
	}
	.register_table{
	 margin: auto;
	 width: 100%;
	}
	.register_table tr{
		display: block;
		padding: 10px;
	}

	.register_table tr td, .register_table tr th{
		font-size: 13px;
	}
	.register_table tr td input[type="email"]{
	 width: 100%;
	 max-width: 400px;
	}
	.table_contents_title2 a{
	 margin-left: auto;
	 font-size: 14px;
	 padding: 8px 10px;
	 border-radius: 5px;
	}

	.register_table tr:last-child{
	 align-items: center;
	 justify-content: center;
	}

	.register_table tr td input,.register_table tr td select{
		font-size: 16px;
	}
	.register_table tr th{
		font-weight: bold;
	}
	.register_table tr td:nth-child(3){
	 display: block;
	}
	.table_contents{
	 width: 100%;
	 min-width: auto;
	 margin: auto;
	}
	.table_contents_small{
	 width: 100%;
	}
	.register_table tr td input[type="text"]{
	 width: 100px;
	 height: 50px;
	}
	.register_table .table_text_l input[type="text"]{
	 width: 200px;
	 height: 50px;
	}
	.register_table .table_text_l input[type="email"]{
	 height: 50px;
	}
	.register_table .table_text_l select{
	 height: 50px;
	}
	.register_table .table_text_l input[name="address1"],.register_table .table_text_l input[name="address2"]{
	 width: 100%;
	 max-width: 500px;
	}
	.table_wrap{
	 margin: 2% 2% 2% 2%;
	}
	.fix_table tr:first-child td, .fix_table tr:first-child th{
	 font-size: 12px;
	}
	.fix_table tr td, .fix_table tr th{
	 font-size: 12px;
	}
	.details_table tr{
	 display: table-row;
	}
	.table_btn input[type="button"], .table_btn button{
		padding: 10px 20px;
		font-size: 18px;
	}
}

@media screen and (max-width:375px) {
	.register_table tr{
	 padding: 5px;
	}
	.table_btn input[type="button"], .table_btn button{
	padding: 5px;
	}
}

/* --------------------------------------
ログインページ
----------------------------------------- */
.login_wrap{
	width: 510px;
	height: 710px;
	margin: auto;
	top: 10vh;
	margin-bottom: 30px;
	border-radius: 10px;
	padding-top: 60px;
	background-size: cover!important;
	position: relative;
	z-index: 2;
	box-shadow: 0px 0px 10px rgba(0,0,0,.5);
}

.login_logo{
	text-align: center;
	padding-top: 15px;
	margin-bottom: 10px;
}

.login_logo img{
	width: 110px;
}

.login_wrap .login_title{
	text-align: center;
	font-size: 16px;
	color: #fff;
	margin-bottom: 10px;
	letter-spacing: .1em;
}

.login_wrap .login_title span{
	color: #333;
	font-size: 22px;
	font-weight: 400;
	line-height: 3rem;
	font-family: 'Noto Sans JP', sans-serif;
}


.login_table_wrap{
	margin: auto;
	width: 350px;
	background-color: rgba(192,226,250,.8);
	padding: 10px;
	border-radius: 10px;
}
.login_table{
	margin: auto;
	width: 100%;
	margin-bottom: 10px;
	max-width: 300px;
}

.login_table tr{
	border: none;
	border-bottom: none;
}

.login_table tr:last-child{
	border-top: none;
}

.login_table tr td{
	padding: 6px 0px;
	text-align: center;
}

.login_table tr td:first-child{
	width: 105px;
	color: #565656;
	font-weight: bold;
	font-size: 13px;
	white-space: normal;
}

.login_table tr td button{
	padding: 10px 20px;
	background-color: #3C9DFF;
	border-radius: 5px;
	color: #fff;
}

.login_table tr td input,table.login_table tr td input[type="text"]{
	background-color: #fff;
	border-radius: 3px;
	border: none;
	width: 100%;
	max-width: 300px;
	height: 50px;
	text-align: left;
	font-weight: normal;
}

.login_table tr td input::placeholder,table.login_table tr td input[type="text"]::placeholder {
	color: #ddd;
	font-weight: normal;
}

/* IE */
.login_table tr td input:-ms-input-placeholder ,table.login_table tr td input[type="text"]:-ms-input-placeholder {
	color:#ddd;
	font-weight: normal;
}

/* Edge */
.login_table tr td input::-ms-input-placeholder,table.login_table tr td input[type="text"]::-ms-input-placeholder {
	color: #ddd;
	font-weight: normal;
}


table.login_table tr:last-child{
	border-bottom: none;
}

table.login_table tr:last-child td{
	padding-bottom: 10px;
	text-align: right;
	max-width: 300px;
}

table.login_table tr td input:focus{
	border: 1px solid #CCCCCC;
}

.login_new_here{
	color: #425C6C;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 13px;
	max-width: 300px;
	margin: auto;
	margin-top: 5px;
}

.login_new_here a{
	color: #0355fb;
}

.login_new_here a:hover{
	color:#6290ef;
}

.login_btn_wrap>img{
	margin-right: 60px;
}

.login_btn_wrap button{
	transition: .1s;
}

.login_btn_wrap button:hover{
	opacity: .8;
}

.login_ex{
	padding: 30px 10px 50px;
	text-align: center;
	position: relative;
	z-index: 2;
	top: 10vh;
	max-width: 860px;
	margin: auto;
	left: 0;
	right: 0;
	background-color: #fff;
	border-radius: 20px;
	box-shadow: 0px 0px 10px rgba(0,0,0,.5);
	margin-bottom: 30px;
}

.login_ex_title{
	text-align: center;
	margin-bottom: 30px;
	padding-bottom: 5px;
	font-size: 25px;
	font-weight: bold;
	display: inline-block;
	border-bottom: 4px solid #ddd;
}

.login_ex_table{
	overflow-x: auto;
}

.login_ex table{
	margin:auto;
	margin-bottom: 50px;
}


.login_ex table tr th{
	background-color: #ebebeb;
	color: #333;
}

.login_ex table tr:first-child td:nth-child(2){
	background-color: #ff7878;
}

.login_ex table tr:first-child td:nth-child(3){
	background-color: #fff178;
}

.login_ex table tr:first-child td:nth-child(4){
	background-color: #a3ff78;
}

.login_ex table tr:first-child td:nth-child(5){
	background-color: #78e3ff;
}

.login_ex table tr:first-child td:nth-child(6){
	background-color: #9678ff;
}

.login_ex table tr td,.login_ex table tr th{
	border: 2px solid #ddd;
	padding: 10px;
	text-align: center;
	white-space: nowrap;
	font-size: 15px;
}

.login_ex_subtitle{
	text-align: center;
	margin-bottom: 30px;
	font-size: 25px;
	font-weight: bold;
	display: inline-block;
	border-bottom: 4px solid #ddd;
	padding-bottom: 5px;
}

.login_ex_text{
	text-align: center;
	font-size: 15px;
}

.login_ex_text a{
	color: #009cff;
	font-weight: bold;
}

.login_ex_text a:hover{
	color: #46aff2;
}
@media screen and (max-width:860px) {
	.login_ex{
	margin-left: 10px;
	margin-right: 10px;
	top: 15vh;
	}
	.login_ex_title{
	font-size: 20px;
	}
	.login_ex_subtitle{
	font-size: 20px;
	}
}

@media screen and (max-width:510px) {
	.register_table tr{
	 padding: 5px;
	}
	.login_wrap {
	width: 95vw;
	margin: auto;
	height: 155vw;
	}
	.login_table_wrap{
	width: 90vw;
	}
	.login_btn_wrap>img {
	margin-right: 5vw;
	}
	.login_wrap .login_title{
	padding-top: 8%;
	}
}

@media screen and (max-width:375px) {
	#errors{
	font-size: 13px;
	line-height: 1rem;
	margin: 20px 10px;
	}
}

#rotating-section{
	position:absolute;
	background: #d9efff top center no-repeat fixed;
	height:100vh;
	width: 100vw;
	overflow:hidden;
	position: fixed;
	z-index: 0;
	top: 0;
	min-height: calc(10vh + 30px + 710px);
}
.rect1,.rect2,.rect3,.rect4{
	position:absolute;
	width:100px;
	height:100px;
	bottom:-150px;
	background:#5ab2f2;
	-webkit-animation: mymove2 8s linear infinite;
	border-radius:50%;
}

.rect1{left:50%;}
.rect2{left:10%;-webkit-animation-delay:0.3s;}
.rect3{left:25%;-webkit-animation-delay:2s;}
.rect4{left:85%;-webkit-animation-delay:1s;}


.rect5,.rect6,.rect7,.rect8{
	position:absolute;
	width:50px;
	height:50px;
	background:#7ccf00;
	bottom:-150px;
	-webkit-animation: mymove2 16s linear infinite;
	border-radius:50%;
}

.rect5{left:0%;}
.rect6{left:15%;-webkit-animation-delay:2.2s;}
.rect7{left:45%;-webkit-animation-delay:0.8s;}
.rect8{left:77%;-webkit-animation-delay:1.4s;}


.rect9,.rect10{
	position:absolute;
	width:300px;
	height:300px;
	background:#fff;
	bottom:-250px;
	border-radius:50%;
	-webkit-animation: mymove3 10s linear infinite;
}

.rect9{left:3%;}
.rect10{left:95%;-webkit-animation-delay:0s;}

.rect13,.rect14{
	position:absolute;
	width:0px;
	height:0px;
	width:100px;
	height:100px;
	background-color: #0344c9;
	bottom:-150px;
	-webkit-animation: mymove4 16s linear infinite;
	border-radius:50%;
}


.rect13{left:45%;-webkit-animation-delay:0.6s;}
.rect14{-webkit-animation:mymove5 6s liner infinte;-webkit-animation-delay:0s;}


.rect11,.rect12{
	position:absolute;
	width:50px;
	height:50px;
	background-color: #85d001;
	bottom:-150px;
	-webkit-animation: mymove5 8s linear infinite;
	border-radius:50%;
}

.rect11{left:30%;}
.rect12{left:65%;border-bottom:solid 60px #fff;-webkit-animation-delay:0s;}

.rect15{
	position:absolute;
	width:300px;
	height:300px;
	background:#fff;
	bottom:-400px;
	-webkit-animation: mymove3 20s linear infinite;
	border-radius:50%;
}

.rect15{left:55%;}


.rect17{
	position:absolute;
	width:150px;
	height:150px;
	background:#fff;
	bottom:-400px;
	border-radius:50%;
}

@-webkit-keyframes mymove2{

	0%{	transform:rortate(0deg);opacity:1;}
	100%{transform:rotate(540deg);opacity:0;bottom:70%;}
	}

@-webkit-keyframes mymove3{

	0%{	transform:rortate(0deg);opacity:1;}
	100%{transform:rotate(720deg);opacity:0;bottom:100%;}
	}

@-webkit-keyframes mymove4{
	0%{	transform:rortate(0deg);opacity:1;}
	100%{transform:rotate(720deg);opacity:0;bottom:100%;}
	}

@-webkit-keyframes mymove5{
	0%{	opacity:1;}
	100%{opacity:0;bottom:100%;}
	}

/* --------------------------------------
退会処理
----------------------------------------- */
.withdrawal_wrap{
	font-size: 15px;
	font-weight: bold;

}

.withdrawal_wrap{
	position: fixed;
	z-index: -1;
	background-color: rgba(0,0,0,0);
	width: 100vw;
	height: 100vh;
	bottom: 0px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.withdrawal_wrap .withdrawal_notice_wrap{
	opacity: 0;
}

.withdrawal_wrap_active{
	z-index: 10000000;
	transition: .5s;
	background-color: rgba(0,0,0,.8);
}

.withdrawal_wrap_active .withdrawal_notice_wrap{
	opacity: 100;
}

.withdrawal_wrap_active .withdrawal_notice_wrap{
	margin: 0px!important;
}



/* --------------------------------------
会員登録通知
----------------------------------------- */

.signup_necessary_wrap,
.paid_necessary_wrap,
.resume_notice_wrap{
	position: fixed;
	z-index: -1;
	background-color: rgba(0,0,0,0);
	width: 100vw;
	height: 100vh;
	bottom: 0px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.signup_necessary_wrap .notice_wrap,
.paid_necessary_wrap .notice_wrap,
.resume_notice_wrap .notice_wrap{
	opacity: 0;
}


.signup_necessary_wrap_active,
.paid_necessary_wrap_active,
.resume_notice_wrap_active{
	z-index: 10000000;
	transition: .5s;
	background-color: rgba(0,0,0,.8);
}

.signup_necessary_wrap_active .notice_wrap,
.paid_necessary_wrap_active .notice_wrap,
.resume_notice_wrap_active .notice_wrap{
	opacity: 100;
}

.signup_necessary_wrap .notice_wrap{
	margin: 0px!important;
}
.paid_necessary_wrap .notice_wrap{
	margin: 0px!important;
}
.resume_notice_wrap .notice_wrap{
	margin: 0px!important;
}


/* アカウント確認画面 */
.user_account_table_title{
	margin: 20px 0px 10px 0px;
	font-size: 30px;
	color: #00b3f0;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-weight: 500;
	text-shadow: 0 0.03em 0.03em #3182d4, 0 0.03em 0.03em #2666a7, 0 0.03em 0.03em #1f5286;
}

.user_account_table{
	padding: 20px;
}

.user_account_item{
	display: flex;
	align-items: center;
	justify-content: flex-start;
	margin-bottom: 20px;
}

.user_account_item .user_account_img{
	width: 55px;
	height: 55px;
	margin-right: 10px;
}


.user_account_item .user_account_img img{
	height: auto;
	width: 100%;
	max-width: 55px;
	max-height: 55px;
}

.user_account_item .user_account_name span{
	display: block;
	color: #333;
	font-family: 'Noto Sans JP', sans-serif;
}

.user_account_item .user_account_name span:first-child{
	font-size: 20px;
	margin-bottom: 5px;
	font-weight: bold;
}

.user_account_item .user_account_name span:last-child{
	font-size: 12px;
}

.user_account_table_wrap{
	margin: 0 0 2% 2%;
	padding: 20px;
}

.user_account_table{
	width: 100%;
	max-width: 800px;
}

.user_account_table tr:last-child{
	border-bottom:none;
}

.user_account_table tr{
	border-bottom: 1px solid rgba(0,0,0,.1);
	border-top:none;
	box-shadow: 0px 2px 0px rgba(0,0,0,.1);
	font-family: 'Noto Sans JP', sans-serif;
}

.user_account_table tr:last-child{
	box-shadow: none;
}

.user_account_table tr:first-child{
	border-bottom: none;
}


.user_account_table tr th:first-child{
	padding-right: 40px;
	font-size: 13px;
	font-weight: bold;
	color: #333;
}

.user_account_table tr td:first-child{
	font-size: 13px;
	color: #333;
	font-weight: bold;
}

.user_account_table tr td:last-child{
	padding-right: 40px;
	color: #333;
	font-size: 17px;
}

@media screen and (max-width:375px) {
	.user_account_table tr{
		display: block;
	}
	.user_account_table tr td{
		display: block;
	}
	.user_account_table_wrap{
	margin: 0px;
	}
	.user_account_item{
	margin-bottom: 0px;
	}
}

/* ユーザー用ダッシュボード */
.user_info_table_wrap{
	margin: 0 0 2% 2%;
	padding: 20px;
	max-width: 800px;
}
.user_info_item{
	border-bottom: 1px solid #ddd;
	padding-bottom: 20px;
}
.user_info_item .user_account_img{
	width: 80px;
	height: 80px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.user_info_item .user_account_img img{
	height: auto;
	width: 100%;
	max-width: 80px;
	max-height: 80px;
}

.user_info_item .user_account_name span:first-child{
	font-size: 30px;
	margin-bottom: 10px;
}

.user_info_item .user_account_name span:last-child{
	font-size: 16px;
}

.user_account_link{
	margin-bottom: 30px;
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	flex-wrap: wrap;
	border-bottom: 1px solid #ddd;
	padding-bottom: 20px;
}
.user_account_link a{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	background-color: #3c9dff;
	width: calc(23%);
	margin: 0px 1% 1%;
	padding: 10px;
	text-align: center;
	font-size: 14px;
	white-space: nowrap;
	border-radius: 5px;
	color: #fff;
	letter-spacing: .1em;
	border-bottom: solid 2px #0067d0;
	border-radius: 4px;
	box-shadow: inset 0 2px 0 rgba(255,255,255,0.2), 0 2px 2px rgba(0, 0, 0, 0.19);
}
.user_account_link a i{
	font-size: 35px;
	margin-bottom: 5px;
}

.user_account_link a:hover{
	border-bottom: solid 2px #3c9dff;
	box-shadow: 0 0 2px rgba(0, 0, 0, 0.30);
}

.user_info_item .user_account_link a:not(:last-child){
	margin-bottom: 10px;
}

.user_info_item .user_account_link a:hover{
	opacity: .7;
}

.user_info_news_title{
	font-size: 21px;
	color: #fff;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	margin-bottom: 20px;
	padding: 15px;
	background-color: #A2A2A3;
	border-radius: 6px 6px 0px 0px;
}

.user_info_news_wrap{
	width: 100%;
	border: 2px solid #a2a2a2;
	border-radius: 10px 10px 10px 10px;
}

.user_info_news_table{
	height: 370px;
	overflow-y: auto;
	width: 95%;
	margin: auto;
	margin-bottom: 20px;
}

.user_info_news_table::-webkit-scrollbar{
	width: 8px;
}
.user_info_news_table::-webkit-scrollbar-track{
	background: #fff;
	border: none;
	border-radius: 10px;
}
.user_info_news_table::-webkit-scrollbar-thumb{
	background: #a2a2a2;
	border-radius: 10px;
	box-shadow: none;
}

.user_info_news_table table{
	width: 100%;
}

.user_info_news_table table tr:first-child{
	border-top: none;
}

.user_info_news_table table tr:nth-child(n+2){
	border-top: 1px solid rgba(51,51,51,.1);
}

.user_info_news_table table tr:last-child{
	border-bottom: 1px solid rgba(51,51,51,.1);
}
.user_info_news_table table tr td{
	padding: 15px 5px;
}

.user_info_news_table table tr td:first-child{
	width: 60px;
}
.user_info_news_table table tr td:first-child img{
	width: 100%;
	height: auto;
	max-width: 30px;
	max-height: 30px;
}

.user_info_news_table table tr td:nth-child(2){
	width: 70%;
}
.user_info_news_table table tr td:nth-child(2) button:hover{
	color:#9E9E9E;
}

.user_info_news_table table tr td:nth-child(3){
	text-align: center;
	color:#9E9E9E;
	width: 155px;
	white-space: nowrap;
}

.user_status_newinfo {
	position: absolute;
	left: 55px;
	top: 15px;
}
.user_status_newinfo{
	animation: furu 2.2s infinite;
	background-color: #f71659;
	color: #fff;
	padding: 1px 5px 3px 7px;
	font-size: 13px;
	min-width: 20px;
	min-height: 20px;
	border-radius: 50%;
	display: inline-block;
}

@keyframes furu {
	0% {
		transform: translate(0px, 0px) rotateZ(0deg)
	}
	2% {
		transform: translate(2px, 2px) rotateZ(2deg)
	}
	4% {
		transform: translate(0px, 2px) rotateZ(0deg)
	}
	6% {
		transform: translate(2px, 0px) rotateZ(-2deg)
	}
	8% {
		transform: translate(0px, 0px) rotateZ(0deg)
	}
	10% {
		transform: translate(2px, 2px) rotateZ(2deg)
	}
	12% {
		transform: translate(0px, 0px) rotateZ(0deg)
	}
	14% {
		transform: translate(2px, 0px) rotateZ(-2deg)
	}
	16% {
		transform: translate(0px, 2px) rotateZ(0deg)
	}
	18% {
		transform: translate(0px, 0px) rotateZ(0deg)
	}
	100% {
		transform: translate(0px, 0px) rotateZ(0deg)
	}
}

@media screen and (max-width:1024px) {
	.user_info_table_wrap{
	max-width: none;
	margin-left: 0px;
	}
	.user_info_news_table table tr td:nth-child(2){
	font-size: 14px;
	}
	.user_info_news_table table tr td:nth-child(3){
	text-align: center;
	color:#9E9E9E;
	font-size: 11px;
	}
	.user_info_news_table table tr td:first-child img{
	min-width: 25px;
	min-height: 25px;
	margin: 0px;
	}
	.user_info_news_table{
	width: 98%;
	height: 45vw;
	}
	.user_info_item .user_account_img{
	width: 60px;
	height: 60px;
	}
	.user_info_item .user_account_img img{
	max-width: 60px;
	max-height: 60px;
	}
	.user_info_item .user_account_name span:first-child{
	font-size: 25px;
	}
	.user_info_item .user_account_name span:last-child{
	font-size: 14px;
	}
	.user_status_newinfo {
	position: absolute;
	left: 65px;
	top: 35px;
	}
	.user_account_link a{
	font-size: 13px;
	}
}
@media screen and (max-width:768px) {
	.user_account_link{
	align-items: stretch;
	}
	.user_account_link a{
	width: 48%;
	white-space: normal;
	}
}
@media screen and (max-width:480px) {
	.user_status_newinfo {
	position: absolute;
	left: 50px;
	top: 30px;
	}
}
@media screen and (max-width:375px) {
	.user_info_news_table table tr td:nth-child(3){
	font-size: 10px;
	}
	.user_info_news_table table tr td:nth-child(2){
	font-size: 14px;
	}
	.user_info_news_table table tr td{
	padding: 1px;
	}
	.user_info_news_table{
	width: 98%;
	height: 200px;
	}
	.user_info_item .user_account_img{
	width: 40px;
	height: 40px;
	}
	.user_info_item .user_account_img img{
	max-width: 40px;
	max-height: 40px;
	}
	.user_info_item .user_account_name span:first-child{
	font-size: 20px;
	margin-bottom: 3px;
	}
	.user_info_item .user_account_name span:last-child{
	font-size: 12px;
	}
}
/* ------------------------------------
管理画面トップスクロールボタン
--------------------------------------- */
.top_scroll_btn{
	position: fixed;
	right: 20px;
	bottom:30px;
	width: 70px;
	z-index: 10;
}

.top_scroll_btn img{
	width: 100%;
	height: auto;
	filter: drop-shadow(0px 3px 0px #2666a7);
}

.top_scroll_btn:hover{
	opacity: .8;
}

/* ------------------------------------
エラーページ等でreset.cssのキャンセル
--------------------------------------- */

.resetCancel form {
	display: block;
	margin-top: 0em;
	line-height: revert;
}

.resetCancel h2{
	display: block;
	font-size: 1.5em;
	margin-block-start: 0.83em;
	margin-block-end: 0.83em;
	margin-inline-start: 0px;
	margin-inline-end: 0px;
	font-weight: bold;
}

.resetCancel button{
	line-height: revert;
 	appearance: button;
	-webkit-writing-mode: horizontal-tb !important;
	text-rendering: auto;
	letter-spacing: normal;
	word-spacing: normal;
	text-transform: none;
	text-indent: 0px;
	text-shadow: none;
	display: inline-block;
	text-align: center;
	align-items: flex-start;
	cursor: default;
	background-color: rgb(239, 239, 239);
	box-sizing: border-box;
	margin: 10px;
	font: 400 13.3333px Arial;
	padding: 1px 6px;
	border-width: 2px;
	border-style: outset;
	border-color: rgb(118, 118, 118);
	border-radius: 4px;
}

.resetCancel button:hover{
	background-color: rgb(195, 195, 195);
	border-color: rgb(74, 74, 74);
}

/* ------------------------------------
一覧のプルダウンメニュー用
--------------------------------------- */
.tool_btn{
	margin: 2% 0 -2% 2%!important;
}

.tool_box select{
	position: relative;
	left: 35%;
	border: 2px solid #848484;
	border-radius: 5px;
	padding: 5px;
}

/* ------------------------------------
メンバ登録用
--------------------------------------- */
.icon_area2{
	margin: -5px 0;
}

/*------------------------------------
登録画面用
-------------------------------------- */
.regist_table{
	position: relative;
	top: 30px;
}

.regist_btn{
	position: relative;
	top: 30px;
}

.regist_btn .blue_btn{
	background: #89aeed;
	border: solid 5px #89aeed;
}

/*------------------------------------
メンバ一覧画面用
-------------------------------------- */
.error_messeage_area{
	position: relative;
	left: -150px;
}

/*------------------------------------
グループ一覧画面用
-------------------------------------- */
.group_table_wrap{
	overflow-x: auto;
	margin: 2% 2% 2% 2%;
}

.fix_group_table tr td,.fix_group_table tr th{
	font-size: 15px;
	text-align: left;
	padding: 15px;
}

.fix_group_table tr td:first-child{
	padding-right: 0px !important;
	width: 18px !important;
}
.fix_group_table tr td:nth-child(2){
	padding-left: 5px !important;
	width: 20%;
}

.fix_group_table tr td:nth-child(){
	padding-left: 5px !important;
	width: auto;
}

.fix_group_table tr:first-child{
	background-color: #00b3f0;
}

.fix_group_table tr:nth-child(2n){
	background-color: #e5faff;
}

.fix_group_table tr:first-child td,.fix_group_table tr:first-child th{
	color: #fff;
	font-size: 17px;
	white-space: nowrap;
	padding: 15px;
}

.fix_group_table tr:last-child{
	border-bottom: solid 1px #2ed0dc;
}

.fix_group_table tr.fix_table_tr01{
	background-color: #f9efb6;
}

.fix_group_table tr td:last-child{
	white-space: nomal;
}

.fix_group_table{
	width:auto;
	min-width:150px;
	max-width:1200px;
}

.notice_temp_list tr td {
	text-align: left !important;
	width: auto !important;
}

/*------------------------------------
グループ登録画面
-------------------------------------- */
.regist_group_list li{
	border-bottom: 1px dotted #1D2B68;
	line-height: 2;
}
.style_none_button{
	display:none;
}
.member_list_parent_item{
	display:none;
}
.table_text_l input[type="text"].regist_group_name{
	width: 80%;
}
/*------------------------------------
グループメンバー選択画面
-------------------------------------- */
.group_member_select_contents{
	justify-content: center;
}

/*------------------------------------
 子カテゴリ一覧
-------------------------------------- */
.child_category_list_wrap{
	margin: 0 0 2% 2%;
}

.child_category_list_table{
	max-width: 1000px !important;
}

.child_category_list_table tr td:first-child{
	background-color:#62affd!important;
}
.child_category_list_table tr td:first-child:after {
	border-left: 10px solid #62affd;
}

.child_category_list_table .pulldown_items td{
	background-color:#fd62f0!important;
}
.child_category_list_table tr td:after {
	border-left: 10px solid #62affd;
}
.child_category_list_table .table_details_link button{
	color: #FFF;
	background-color:#62affd;
	border-bottom: solid 2px #025fbc;
}

.child_category_list_table .table_details_link button:hover{
	border-bottom: solid 2px #62affd;
}

.grade_detail_btn{
	transition: .2s;
	float: right;
	margin-right: 10px;
	padding: 2px 8px!important;
	background-color: #ec6262 !important;
}
.grade_detail_btn:hover{
	opacity:0.7;
}

.register_table label.image_file {
	padding: 5px 8px 5px 5px;
	background-color: #EFEFEF;
	cursor: pointer;
	border-radius: 3px;
	border: #d0d0d0 0.5px solid;
	margin-right: 10px;
	margin-bottom: 2px;
	display: inline-block;
}
.register_table input[type="file"] {
	display: none;
}
.register_table .file_name {
	overflow-wrap: anywhere;
	cursor: pointer;
}

.file_uploaded{
	display: none;
}
