@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;
	width:100%
}
#wrapper{
	width: 100%;
	/*以下、フッターを下部に固定するCSS*/
	position: relative;
	height: auto !important; /*IE6対策*/
	height: 100%; /*IE6対策*/
	min-height: 100%;
}
#main {
    width: 100%;
    margin: 0 auto;
    padding: 75px 0 0 0;
}
#main > section {
    width: 96%;
    margin: 0 auto 30px;
}
/* =======================================

	LINK COLOR

======================================= */
a:link {  
    color: #ff229d;  
    text-decoration: none;  
}  
a:visited {  
    color: #ff229d;  
    text-decoration: none;  
}  
a:hover {  
    text-decoration: none;
}  
a:active {  
    color: #666;  
}
/* =======================================

	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: 1px solid #ff96c5;
}
.rank_student_bg{
	background-color: #ff96c5;
}

/* =======================================

	H3 TITLE

======================================= */
.title{
	height: 41px;
	position: relative;
	margin-bottom: 20px;
}
.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: 19px;
    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

======================================= */
/* =======================================

	LIST - BASE -

======================================= */
.box{background-color: #EFEFEF;}/*削除する*/

.listBox {
	width: 100%;
	margin: 0 auto;

	display:-webkit-box;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:flex;
	
	-ms-flex-wrap:wrap;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	
	-webkit-box-pack:justify;
	-ms-flex-pack:justify;
	-webkit-justify-content:space-between;
	justify-content:space-between;
	
	-webkit-box-align:stretch;
	-ms-flex-align:stretch;
	-webkit-align-items:stretch;
	align-items:stretch;
}
.box {
	height: auto;
	overflow: hidden;
	position: relative;
	width: 100%;
}
.inner {
	height: 100%;
	position: absolute;
	top: 0; left: 0;
	width: 100%;   
}
.inner img{
	width: 100%;
}

/*-- ===== 高さ ===== --*/
.ratio:before {
	content: "";
	display: block;
	padding-top: 127%; /* サムネイルサイズに合わせています */
}

/*-- ===== 1カラム ===== --*/
.list_1column {
	margin-bottom: 10px;
	position: relative;
	width: 100%;
}
.list_1column .detail{}
.list_1column .detail .name{
	display: block;
	font-size: 16px;
}
.list_1column .detail .size{
	display: block;
	font-size: 14px;
}


/*-- ===== 2カラム ===== --*/
.list_2column {
    margin-bottom: 6px;
	position: relative;
	width: 49%;
}
.list_2column .detail{}
.list_2column .detail .name{
	display: block;
	font-size: 14px;
}
.list_2column .detail .size{
	display: block;
	font-size: 12px;
}

/*-- ===== 3カラム ===== --*/
.list_3column {
	position: relative;
	margin-bottom: 10px;
	width: 32%;
}
.list_3column .detail{}
.list_3column .detail .name{
	display: block;
	font-size: 14px;
}
.list_3column .detail .size{
	display: block;
	font-size: 10px;
}
/* =======================================

	HEADER

======================================= */
header {
    position: fixed;
    z-index: 104;
    width: 100%;
}
header h1 {
    background-color: #000000;
    color: #ffffff;
    line-height: 1.9;
    font-size: 11px;
    height: 20px;
    white-space: nowrap;
    overflow: hidden;
    padding:2px;
}
.header_wrapper {
    background-image: url(/sp/images/header_bg.jpg);
    background-size: 110%;
    background-position: 50% top;
    background-repeat: no-repeat;
    height:45px;
	padding: 2px;
}
.header_wrapper h2 {
    font-weight: bold;
    display: inline-block;
    vertical-align: middle;
    padding-top: 4px;
}
.header_wrapper h2 span {
    display: block;
    font-weight: bold;
    letter-spacing: -1px;
}
.hlogo {
    display: inline-block;
    width: 48px;
    vertical-align: middle;
}
.hlogo img {
    width: 100%;
}
.btn_tel {
	font-size: 21px;
    background-color: #ff229d;
    color: #ffffff !important;
    border-radius: 3px;
    padding: 4px 6px;
    vertical-align: middle;
    display: inline-block;
    margin-left: 9px;
}
.drawer-hamburger {
    top: 10px;
    right: -5px !important;
}
.openTime {
    background-color: #ff229d;
    color: #ffffff;
    text-align: center;
    font-size: 14px;
    padding: 3px 0;
}
@media screen and (min-width:375px){
	.header_wrapper {height: 52px;padding: 4px;}
	.hlogo {width: 52px;}
	.btn_tel {font-size: 26px;margin-left: 39px;}
	.drawer-hamburger {top: 15px;right: 5px !important;}
	#main {padding: 82px 0 0 0;}
}
@media screen and (min-width:414px){
	.btn_tel {font-size: 28px;margin-left: 80px;}
}
/* =======================================

	MENU

======================================= */
.drawer-menu li {
    width: 48%;
    text-align: center;
    position: relative;
    margin-bottom: 8px;
}
.drawer-menu li a {
	font-size: 13px;
    line-height: 3.4;
    display: block;
    color: #000000 !important;
    background-color: #f6f6f6;
}
.drawer-menu li .font_small a {
    font-size: 11px !important;
}
.drawer-nav {
	position: fixed;
    z-index: 114;
    top: 0;
	overflow-y: scroll;
	overflow-x: hidden;
    width: 80%;
    height: 100%;
    color: #222;
    background-color: #fff;
    border: 5px solid #ff229d;
    padding: 50px 10px 20px 10px;
}
/* =======================================

	PANKUZU

======================================= */
#pankuzu {
    padding: 13px 10px;
    font-size: 13px;
    white-space: nowrap;
    overflow: auto;
}
.punkuz {
    padding: 8px;
    font-size: 13px;
    white-space: nowrap;
    overflow: auto;
    display: flex;
    background-color:#ffffff;
    -webkit-overflow-scrolling: touch
}
/* =======================================

	FOOTER - BANNER

======================================= */
#footer_bnr ul {
    padding: 30px 0;
}
#footer_bnr li {
    width: 80%;
    margin: 0 auto 7px;
}
#footer_bnr li img{
	width: 100%;
}
/* =======================================

	FOOTER

======================================= */
footer{
	background-color: #ff229d;
	width: 100%;
}
footer h3 {
    padding: 10px 0;
    width: 96%;
    margin: 0 auto;
    color: #ffffff;
    font-size: 15px;
}
#footer_wrapper {
    width: 80%;
    margin: 0 auto;
    color: #FFF;
    text-align: center;
}
#footer_wrapper .footer_text {
    font-size: 12px;
    text-align: left;
    line-height: 1.5;
    margin: 30px auto;
}
#footer_wrapper .footer_logo{
    margin: 0 auto 30px;
}
#footer_wrapper .footer_logo img {
    width: 135px;
    margin-bottom: 20px;
}
#footer_wrapper .footer_logo > div{
}
#footer_wrapper .footer_logo > div h2 {
    font-size: 17px;
    line-height: 1.2;
    margin-bottom: 13px;
}
#footer_wrapper .footer_logo > div h2 span{
	font-size: 11px;
	display: block;
}
#footer_wrapper .footer_logo .time {
    display: block;
    font-size: 15px;
    margin-bottom: 5px;
}
#footer_wrapper .footer_logo .time i{
	margin-right: 15px;
}
#footer_wrapper .footer_logo .tel {
    display: block;
    font-size: 15px;
}
#footer_wrapper .footer_logo .tel i {
    margin-right: 15px;
}
#footer_wrapper .footer_logo .tel a {
    color: #ffffff;
}
/* =======================================

	FOOTER-NAVI

======================================= */
#footerNavi {
    background-color: #ff8ab3;
    width: 100%;
    padding: 20px 0 12px;
}

#footerNavi ul {
    text-align: left;
    margin: 0 auto;
    padding: 0 14px;
	display:-webkit-box;/*--- Androidブラウザ用 ---*/
	display:-ms-flexbox;/*--- IE10 ---*/
	display:-webkit-flex;/*--- safari（PC）用 ---*/
	display:flex;
	-ms-flex-wrap:wrap;/*--- IE10用 ---*/
	-webkit-flex-wrap:wrap;/*--- safari（PC）用 ---*/
	flex-wrap:wrap;
	-webkit-box-pack:justify;/*--- Androidブラウザ用 ---*/
	-ms-flex-pack:justify;/*--- IE10 ---*/
	-webkit-justify-content:space-between;/*--- safari（PC）用 ---*/
	justify-content:space-between;
}

#footerNavi ul li {
    display: inline-block;
    width: 49%;
    margin-bottom: 8px;
	border: 1px dotted rgba(255,255,255,0.4);
}
#footerNavi ul li a {
    color: #FFFFFF;
    font-size: 13px;
    line-height: 3;
    display: block;
    text-align: center;
}
/*
#footerNavi ul li a:before {
    content: "";
    display: block;
    height: 1px;
    width: 80%;
    background-color: #ffffff;
    position: absolute;
    bottom: 0;
    left: 50%;
    margin-left: -39%;
}
*/
/* =======================================

	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;
}
