@charset "utf-8";
/* CSS Document */
/* =======================================

	BASE

======================================= */
*,
*:before,
*:after {
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
}
html,body{
     height:100%;
}
body {
	background-color: #fff2f9;
	font-family: "Hiragino Kaku Gothic ProN","メイリオ", sans-serif;
	font-size: 12px;
	color: #313131;
	line-height: 1;
	min-width: 1280px;
}
#wrapper{
	width: 100%;
	/*以下、フッターを下部に固定するCSS*/
	position: relative;
	height: auto !important; /*IE6対策*/
	height: 100%; /*IE6対策*/
	min-height: 100%;
}
#wrapper header {
    height: 250px;
}
#container{
	width: 1200px;
	margin: 0 auto;
	padding-bottom: 495px; /*フッターの高さと同じ*/
}
#main{
	display: inline-block;
	vertical-align: top;
	width: 100%;
	margin: 0;
}
#pan{
	width: 1200px;
	margin: -20px auto 20px;
}
#pan ol{}
#pan ol li{
	display: inline-block;
}
/* =======================================

	COLOR SET

======================================= */
/*ランク判定*/
.rank_newface{
	color: #00b7ee;
	border-color: 1px solid #00b7ee;
}
.rank_newface_bg{
	background-color: #00b7ee;
}

.rank_excellence{
	color: #ddab4b;
	border-color: 1px solid #ddab4b;
}
.rank_excellence_bg{
	background-color: #ddab4b;
}

.rank_teacher{
	color: #7e2ea9;
	border-color: 1px solid #7e2ea9;
}
.rank_teacher_bg{
	background-color: #7e2ea9;
}

.rank_beginner{
	color: #9acf2a;
	border-color: 1px solid #9acf2a;
}
.rank_beginner_bg{
	background-color: #9acf2a;
}

.rank_student{
	color: #ff96c5;
	border-color: #ff96c5;
}
.rank_student_bg{
	background-color: #ff96c5;
}
/* =======================================

	LINK COLOR

======================================= */
a:link {  
    color: #ff229d;  
    text-decoration: none;  
}  
a:visited {  
    text-decoration: none;  
}  
a:hover {  
    text-decoration: none;
}  
a:active {  
    color: #666;  
}
/* =======================================

	H3 TITLE

======================================= */
.title{
	height: 41px;
	position: relative;
	margin-bottom: 50px;
}
.title:after{
    content: "";
    border-bottom: 6px solid #DDD;
    display: inline-block;
    width: 100%;
    position: relative;
    z-index: -1;
	position: absolute;
    bottom: 0;
}
.title span{
    font-weight: bold;
    font-size: 25px;
    border-bottom: 6px solid;
	position: absolute;
    bottom: 0;
    padding-bottom: 5px;
}
.title i{
	margin-right: 10px;
    vertical-align: -1px;
}
.title em{
    position: absolute;
    right: 0;
    top: 15px;
}

/* BLUE */
.title_color_blue:after{
    border-color: #cce6f7;
}
.title_color_blue span{
    border-color: #00b7ee;
}
.title_color_blue i{
	color: #00b7ee;
}
/* YELLOW */
.title_color_yellow:after{
    border-color: #ffecca;
}
.title_color_yellow span{
    border-color: #ffcb2a;
}
.title_color_yellow i{
	color: #ffcb2a;
}
/* PINK */
.title_color_pink:after{
    border-color: #ffcce0;
}
.title_color_pink span{
    border-color: #ff337a;
}
.title_color_pink i{
	color: #ff337a;
}
/* ORANGE */
.title_color_orange:after{
    border-color: #fde0c7;
}
.title_color_orange span{
    border-color: #f39800;
}
.title_color_orange i{
	color: #f39800;
}
/* =======================================

	RANK COLOR SET

======================================= */
/* =======================================

	HEADER

======================================= */
header{
	background-image: url("../images/bg_header.jpg");
	background-repeat: no-repeat;
	background-position: center top;
    background-color: #000;
    width: 100%;
    color: #fff;
}
header h1{
    background-color: #000;
	width: 100%;
	padding: 2px 0;
	text-align: center;
	color: #DFDFDF;
}
#header_wrapper{
	width: 1200px;
	margin: 0 auto;
}
#header_wrapper{}
#header_wrapper .logo_area{
    display: table;
    table-layout: fixed;
    width: 1200px;
	font-family: 'Oswald', sans-serif;
	font-weight: normal;
	margin: 8px auto;
}
#header_wrapper .logo_area .logo{
    display: table-cell;
    vertical-align: middle;
}
#header_wrapper .logo_area .logo a {
    color: #ffffff;
}
#header_wrapper .logo_area .logo img{
	width: 70px;
}
#header_wrapper .logo_area .logo h2{
    display: inline-block;
    vertical-align: top;
    font-size: 30px;
    margin-left: 10px;
    padding-top: 6px;
}
#header_wrapper .logo_area .logo h2 span{
	display: block;
	font-size: 16px;
	font-weight: 400;
}
#header_wrapper .logo_area p{
    display: table-cell;
    vertical-align: middle;
    font-family: 'Oswald', sans-serif;
    font-size: 21px;
    text-align: right;
    color: #FFFFFF;
}
#header_wrapper .logo_area p span{
    margin-left: 20px;
}
#header_wrapper .logo_area p span i{
    font-size: 28px;
    margin-right: 10px;
    vertical-align: -3px;
}
#header_wrapper .nav_bnr{
	text-align: left;
	margin-top: 20px;
	font-size: 0;
}
#header_wrapper .nav_bnr li{
	display: inline-block;
	vertical-align: top;
	width: 232px;
margin:0 5px 10px 5px;
}
#header_wrapper .nav_bnr li:last-child{
	margin-right: 0;
}
#header_wrapper .nav_bnr li img{
	width: 100%;
}

/* =======================================

	GLOBAL-NAVI

======================================= */
#headerNavi{
    background-color: #ff229d;
    height: 80px;
    margin-bottom: 30px;
}
#headerNavi ul{
	position: relative;
	display: table;
    table-layout: fixed;
    width: 1200px;
    height: 80px;
    margin: 0 auto;
    border-spacing: 4px;
}
#headerNavi ul li{
	background-image: url(../images/bg_oblique.png);
    background-repeat: repeat;
    display: table-cell;
    font-size: 16px;
    text-align: center;
    vertical-align: middle;
    border: 1px solid #FFF;
	-moz-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.4);
	-webkit-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.4);
	box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.4);
	-moz-text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.6);
	-webkit-text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.6);
	text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.6);
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
}
#headerNavi ul li.font_font{
    font-size: 14px;
}
#headerNavi ul li a{
    position: relative;
    display: block;
    line-height: 71px;
    color: #FFF;
	transition: all 0.5s ease 0s;
}

#headerNavi ul li a:hover:before{
    opacity: 1;
	transition: all 0.5s ease 0s;
}
#headerNavi ul li a:before {
    content: url(../images/nav_hover.png);
    position: absolute;
    left: 0;
    right: 0;
    opacity: 0;
    transition: all 1.8s ease 0s;
    top: 5px;
    height: 65px;
}

/* =======================================

	FOOTER - BANNER

======================================= */
#footer_bnr{
	margin: 50px auto 30px
}
#footer_bnr ul{
	text-align: left;
	font-size: 0;
}
#footer_bnr li{
display: inline-block;
    vertical-align: top;
    width: calc(100%/3 - 16px);
    margin: 0px;
    padding: 10px;
    text-align: center;
    font-size: 12px;
}
aside#footer_bnr a {
    display: block;
}
/*#footer_bnr li:nth-child(4n){
	margin: 0 0 8px 0;
}
*/
#footer_bnr li img {
    max-width: 100%;
    display: block;
}
/* =======================================

	FOOTER

======================================= */
footer{
	background-color: #ff229d;
	width: 100%;
	height: 495px;
	/*以下、フッターを下部に固定するCSS*/
	position: absolute;
	bottom: 0;
}

#footer_wrapper{
	width: 1200px;
	margin: 0 auto;
    color: #FFF;
}
#footer_wrapper .footer_text{
    font-size: 15px;
    text-align: center;
    line-height: 1.5;
    margin: 30px auto;
}
#footer_wrapper .footer_logo{
	display: table;
    margin: 0 auto 50px;
}
#footer_wrapper .footer_logo img{
    display: table-cell;
    vertical-align: middle;
    margin-right: 20px;
}
#footer_wrapper .footer_logo > div{
    display: table-cell;
    vertical-align: middle;
}
#footer_wrapper .footer_logo > div h2{
    font-size: 35px;
    line-height: 1.2;
    margin-bottom: 20px;
}
#footer_wrapper .footer_logo > div h2 span{
	font-size: 15px;
	display: block;
}
#footer_wrapper .footer_logo .time{
	display: block;
	font-size: 14px;
	margin-bottom: 5px;
}
#footer_wrapper .footer_logo .time i{
	margin-right: 18px;
}
#footer_wrapper .footer_logo .tel{
	display: block;
	font-size: 20px;
}
#footer_wrapper .footer_logo .tel i{
	margin-right: 10px;
}
/* =======================================

	FOOTER-NAVI

======================================= */
#footerNavi{
	background-color: #ff8ab3;
	width: 100%;
	padding: 20px 0 10px;
}

#footerNavi ul{
	text-align: center;
}

#footerNavi ul li{
    display: inline-block;
    vertical-align: top;
    margin: 0 5px 10px;
    padding-right: 12px;
    border-right: 1px solid #FFF;
    line-height: 2;
}
#footerNavi ul li:nth-child(9n),
#footerNavi ul li:nth-child(16n){
    border-right: none;
}

#footerNavi ul li a{
	color: #FFFFFF;
	transition: all 0.5s ease 0s;
}

#footerNavi ul li a:hover{
	color: #D1D1D1;
	transition: all 0.5s ease 0s;
}

/* =======================================

	COPYRIGHT

======================================= */
small{
    background-color: #000;
    display: block;
    text-align: center;
    width: 100%;
    padding: 5px 0;
    color: #FFF;
}

small a,
small a:visited,
small a:hover,
small a:active{
	color: #FFFFFF;
}

/* =======================================

	ICON

======================================= */

.icon {
  display: inline-block;
  width: 1em;
  height: 1em;
  stroke-width: 0;
  stroke: currentColor;
  fill: currentColor;
}