@charset "utf-8";
@font-face {
  font-family: YuGothicM;
  src: local("Yu Gothic Medium");
}
 
html {
	font-size: 62.5%;
	-webkit-text-size-adjust: 100%;
}

body {
	font-family: メイリオ,Meiryo,sans-serif;
	padding: 0;
	margin: 0;
	font-size: 1.5rem;
}

body.compact {
    padding: 0;
}
/* ************************************* */

img {
    max-width: 100%;
}


a {
    transition: 0.5s;
    text-decoration: none;
}

a:hover {
    opacity: .6;
}

.clearfix:after {
    content: " ";
    display: block;
    clear: both;
}

hr {
    border: none;
    background: url(../img/hr.png) repeat-x;
    background-size: 450px 10px;
    width: 100%;
    height: 1rem;
}

/* ************************************* */

.container {
    max-width: 1400px;
    margin: 0 auto;
    position: relative;
    padding: 1rem;
}

.btn {
    transition: 0.5s;
    cursor: pointer;
}

.btn:hover {
    opacity: .5;
}

.courses .btn {
    background: none;
    border: none;
}

.courses .btn:hover {
    background: none;
}
/* ************************************* */

html {
    height: 100%;
}

/* ************************************* */

header.global {
    width: 100%;
    height: 60px;
    background: repeat-x url(../img/header_bg.png);
    background-size: 500px 75px;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
    box-shadow: -3px 0 5px #999;
}

header.global #logo {
    position: absolute;
    left: .5rem;
    top: 0;
    width: 10rem;
}

header.global #menu {
    position: absolute;
    right: .5rem;
    top: .5rem;
    cursor: pointer;
    width: 8rem;
}


/* ************************************* */

.star {
    width: 1.5em;
    vertical-align: middle;
}

.lamp {
    width: 1.5em;
    vertical-align: bottom;
}

.level {
    border: 3px dotted #cae285;
    border-radius: 2rem;
    background: #fff;
    padding: .5rem;
    margin-bottom: 2rem;
    text-align: center;
}
    .level .level_label {
        font-size: 3em;
        font-weight: 800;
        color: #21ac38;
    }

    .level .meter {
        width: 80%;
        margin: 8rem auto 0 auto;
        height: 15px;
        background: #e0e0e0;
        position: relative;
        border-radius: 4px;
    }
        .level .meter .icon {
            position: absolute;
            max-width: 8rem;
            top: -8rem;
            margin-left: -2.5rem;
        }
        .level .meter .bar {
            background: #fc818d;
            position: relative;
            border-radius: 4px;
            height: 100%;
        }
        .level .meter .icon.p1 { left: 5%; }
        .level .meter .icon.p2 { left: 10%; }
        .level .meter .icon.p3 { left: 15%; }
        .level .meter .icon.p4 { left: 20%; }
        .level .meter .icon.p5 { left: 25%; }
        .level .meter .icon.p6 { left: 30%; }
        .level .meter .icon.p7 { left: 35%; }
        .level .meter .icon.p8 { left: 40%; }
        .level .meter .icon.p9 { left: 45%; }
        .level .meter .icon.p10 { left: 50%; }
        .level .meter .icon.p11 { left: 55%; }
        .level .meter .icon.p12 { left: 60%; }
        .level .meter .icon.p13 { left: 65%; }
        .level .meter .icon.p14 { left: 70%; }
        .level .meter .icon.p15 { left: 75%; }
        .level .meter .icon.p16 { left: 80%; }
        .level .meter .icon.p17 { left: 85%; }
        .level .meter .icon.p18 { left: 90%; }
        .level .meter .icon.p19 { left: 95%; }
        .level .meter .icon.p20 { right: -5rem; }
        .level .meter .bar.p1 { width: 5%; }
        .level .meter .bar.p2 { width: 10%; }
        .level .meter .bar.p3 { width: 15%; }
        .level .meter .bar.p4 { width: 20%; }
        .level .meter .bar.p5 { width: 25%; }
        .level .meter .bar.p6 { width: 30%; }
        .level .meter .bar.p7 { width: 35%; }
        .level .meter .bar.p8 { width: 40%; }
        .level .meter .bar.p9 { width: 45%; }
        .level .meter .bar.p10 { width: 50%; }
        .level .meter .bar.p11 { width: 55%; }
        .level .meter .bar.p12 { width: 60%; }
        .level .meter .bar.p13 { width: 65%; }
        .level .meter .bar.p14 { width: 70%; }
        .level .meter .bar.p15 { width: 75%; }
        .level .meter .bar.p16 { width: 80%; }
        .level .meter .bar.p17 { width: 85%; }
        .level .meter .bar.p18 { width: 90%; }
        .level .meter .bar.p19 { width: 95%; }
        .level .meter .bar.p20 { width: 100%; }
        

.user_info {
    border-collapse: collapse;
    width: 100%;
    margin-bottom: .5rem;
    font-size: 120%;
}

.user_info th,
.user_info td {
    border: 2px solid #cae285;
    text-align: left;
    padding: .2em;
}

.user_info th {
    background: #fff;
    color: #20ac38;
    width: 60%;
}

.user_info td {
    background: #ffffcc;
    padding-left: 1em;
    text-align: center;
}

.reserves {
    margin: 1rem 0;
}

.top .reserve {
    width: 240px;
    float: left;
    margin: 0 0 0 1em;
}

.reserve_inner {
    margin: 0 5px 10px 0;
    padding: 3rem 10px 10px 10px;
    background-color: #55c1b1;
    color: #fff;
    border-radius: 10px;
    position: relative;
}

.reserve_inner .pin {
    position: absolute;
    top: -1.5rem;
    left: 50%;
    width: 3rem;
}

.reserve a {
    color: #fff;
}

.reserve .teacher {
    text-align: center;
}

.teacher_photo {
    width: 70%;
    border-radius: 100%;
}

.reserve_btn {
    width: 47%;
    max-width: 240px;
}

.teachers .teacher {
    border: 4px solid #ffab01;
    border-radius: 1rem;
    background: #fff;
    margin-bottom: 1rem;
}
.teachers .teacher .col-photo {
    width: 40%;
    float: left;
    box-sizing: border-box;
    padding: 1rem;
    text-align: center;
    position: relative;
}
.teachers .teacher .col-photo .photo {
    border-radius: 100%;
}
.teachers .teacher .col-photo .star {
    position: absolute;
    right: 20%;
    top: 1em;
}
    
.teachers .teacher .col-profile {
    width: 60%;
    float: left;
    box-sizing: border-box;
}
.teachers .teacher p {
    margin: 0;
    line-height: 1.4;
}
.teachers .teacher p.name {
    color: #20ac38;
    font-size: 1.8rem;
    font-weight: 800;
    margin-top: .5rem;
}
.teachers .times {
    text-align: left;
    padding: 2rem 0;
    letter-spacing: -.5px;
}
.teachers .btn {
    display: inline-block;
    background: #55c1b1;
    font-size: 11px;
    text-align: center;
    color: #fff;
    box-shadow: 2px 2px 1px #38A090;
    border-radius: 4px;
    padding: .8rem .5rem;
    margin-bottom: .5rem;
}

.datetime .date,
.datetime .time {
    font-size: 110%;
    padding: .2em .4em;
    background: #fff;
    margin-bottom: .5rem;
    color: #000;
}

.icon {
    display: inline-block;
    widows: 2em;
    text-align: center;
    vertical-align: middle;
}

.icon img {
    height: 1em;
    vertical-align: middle;
}

/* ************************************* */

.courses {
    padding: 0;
}

.courses li {
    background: url(../img/hr.png) repeat-x;
    background-size: 450px 10px;
    padding-bottom: 20px;
    margin-bottom: 20px;
    background-position: center bottom;
    list-style: none;
}

.courses li>div {
    margin: 0;
    width: 100%;
    box-sizing: border-box;
    border-radius: 15px;
    background: #c77a67;
    text-align: center;
    margin: 1rem 0;
    padding: .5rem;
    position: relative;
}

.courses li>div.bronze {
    background: #c77a67;
}

.courses li>div.silver {
    background: #9b9b9b;
}

.courses li>div.gold {
    background: #d6aa5c;
}

.courses li>div.platinum {
    background: #e1cfc8;
}

.courses li>div.family {
    background: #93f0aa;
}

.courses li .medal {
    position: absolute;
    top: 18%;
    width: 100%;
}

.courses li .medal img {
    width: 20%;
    max-width: 150px;
}

.courses li .spec {
    background: #fff;
    margin-top: 70px;
    padding: 2rem 0;
    border-radius: 15px;
    color: black;
}

.courses li .spec .amount {
    font-size: 3rem;
    color: red;
}

.courses li .change img {
    padding: 3rem 0;
}

.courses li .change img {
    width: 40%;
}

/* ************************************* */

.tabs {
    border-bottom: 3px #ff8600 solid;
    text-align: center;
    margin: 0;
    font-size: 1.3rem;
}
    .tabs a {
        display: inline-block;
        border-radius: .3em .3em 0 0;
        background: #55c1b1;
        color: #fff;
        padding: .6em .3em;
    }
    .tabs a.active {
        background: #ff8600;
    }

    .tabContainer {
        position: relative;
    }

    .tab {
        display: none;
    }
    .tab.active {
        display: block;
    }
        
/* ************************************* */

label {
    display: block;
    color: #1fac38;
    background: url('../img/tri.png') no-repeat left center;
    background-size: 1.6rem;
    padding-left: 2rem;
    margin-top: 1rem;
}
.radio label,
.checkbox label {
    display: inline;
    background: none;
    padding: 0;
    margin: 0 0 0 2em;
}

#profile label {
  display: inline-block;
  width: 13em;
  padding: 1em;
  padding-left: 1.5em;
  padding-bottom: 12px;
  /* padding-top: 20px; */
  margin-bottom: 0;
}
#profile input,
#profile div,
#profile .radio {
  display: inline-block;
}
#profile .radio label {
  width: 7em;
  padding-left: 0;
  padding-top: 0;
  padding-bottom: 0;
  float: left;
}
#profile select {
  padding: 0.2em;
}
    
.tri {
    width: 1.2em;
    vertical-align: middle;
    margin-right: .2em;
}

.btn_search {
    background: none;
    border: none;
}

.btn_search img {
    width: 60%;
}

form.search {
    background: #fff;
    border-radius: 8px;
    border: #cae285 3px solid;
    padding: 5px 20px;
}

.search_sub {
    position: relative;
    text-align: center;
    box-sizing: border-box;
}
    .search_sub .container {
        padding: 0;
    }
    
    .search_sub .date {
        display: inline-block;
        border-radius: 10px;
        background: #fff;
        margin: 3px 0;
        padding: .1em .5em;
    }
    .search_sub .prev,
    .search_sub .next {
        position: absolute;
        background: none;
        border: none;
        font-size: 1.1em;
        vertical-align: middle;
    }
    .search_sub .prev span,
    .search_sub .next span {
        color: #ffcc00;
        display: inline-block;
        font-size: 1.4em;
        vertical-align: middle;
    }
    .search_sub .prev {
        left: 0;
        top: 0;
    }
    .search_sub .next {
        right: 0;
        top: 0;
    }

#search_sub_day {
    color: #fff;
    color: #7baa1c;
    background: #8fc31f;
}
    #search_sub_day .prev,
    #search_sub_day .next {
        color: #fff;
    }

#search_sub_time {
    color: #7baa1c;
    background: #ffda46;
}
    #search_sub_time .prev,
    #search_sub_time .next {
        color: #7baa1c;
        font-size: 1.2em;
    }

.search-result {
    border: #ffab01 3px solid;
    border-radius: 6px;
    background: #fff;
    margin: 10px 0;
    box-sizing: border-box;
}
    .search-result .col-photo {
        width: 40%;
        float: left;
        box-sizing: border-box;
        padding: 1rem;
        text-align: center;
    }
        .search-result .photo {
            border-radius: 100%;
	    width: 110px;
        }
        .search-result .name {
            margin: .5em 0 0 0;
        }
    .search-result .col-profile {
        width: 60%;
        float: left;
        box-sizing: border-box;
    }
        .search-result .times {
            text-align: left;
            padding: 2rem 0;
            letter-spacing: -.5px;
        }
            .search-result .btn {
                background: #55c1b1;
                font-size: 12px;
                text-align: center;
                color: #fff;
                box-shadow: 2px 2px 1px #38A090;
                border-radius: 4px;
                padding: .8rem .5rem;
                display: inline-block;
                margin-bottom: .5em;
            }

.btn-low,
.btn-high {
        background: #55c1b1;
        color: #fff;
}
            
.btn-reserved {
    background: #fb0 !important;
    color: #fff !important;
    box-shadow: 2px 2px 1px orange !important;
}

.btn-disable {
    background: #ccc !important;
    color: #fff !important;
    box-shadow: 2px 2px 1px gray !important;
}
        
.btnContainer {
    text-align: center;
    padding: 4rem 0;
}

.imgBtn {
    border: none;
    background: none;
    width: 210px;
    transition: 100ms;
    cursor: pointer;
}

.imgBtn:hover {
    opacity: .6;
}

h1 {
    margin: 2rem 0 3rem 0;
    text-align: center;
}
    h1 img {
        max-width: 320px;
    }
    
h2 {
    color: #fff;
    font-size: 18px;
    background: #b6d753;
    background-size: 1.8em;
    padding: .8em 0.5em;
    margin: 0 0 .5em 0;
}

.top h2 {
    background: none;
    padding: 0;
    color: #20ac38;
}
    
footer.global {
    background: #c1dd6f;
    margin-top: 3rem;
    clear: both;
    padding: .3em 0;
}

footer.global .copyright {
    text-align: center;
    font-size: 13px;
    color: #fff;
}

input[type="text"],
input[type="number"],
input[type="email"],
input[type="password"],
textarea,
select {
    padding: .5rem;
    border: 1px solid #ccc;
    border-radius: .4rem;
    font-size: 1.6rem;
    width: 100%;
    box-sizing: border-box;
}

.help {
    font-size: 90%;
    color: #777;
}

/* ******************************************* */
.news font, basefont{
    font:inherit;
    font-size:100%;
}
.news h2 {
    background: none;
    padding: 1rem 0;
    font-size: 2.5rem;
    border-bottom: 1px solid #eee;
}

.news section {
    background: #fff;
    padding: 1rem;
    border: 1px solid #ccc;
    margin-bottom: 2rem;
}

.news section p {
    margin: 0 0 1em 0;
}
    
.news h2 p {
    margin: 0;
}

.news .updated_at {
    text-align: right;
    color: #777;
}

.mfp-bg {
    background: rgba(128,128,128,0.7) !important;
}
.mfp-iframe-scaler iframe {
    border-radius: 10px;
}
.mfp-content {
    height: 100%;
}

.teacher-header {
    text-align: center;
    background: #e1eeb9;
    padding: 20px 10px;
}

.teacher-header .photo {
    border-radius: 100%;
}
.teacher-name {
    color: #1fac38;
    font-weight: 800;
    margin: .3em 0;
}
.teacher-media {
}
/* lesson_comment */
.scr {
  overflow: scroll;   /* a?1a?￣a?-a??a?≪e!¨c?o */ 
  height: 230px;
}
#lessonInfo select {
  margin-bottom: 1em;
}
.pointhistory {
  max-width: 40em;
}
.pointhistory .title {
  border-bottom: solid 3px #f7941d;
}
.pointhistory .title + table {
  margin: 1em;
}
.teacher_reserve tr {
  line-height: 2.6em; 
  border: 1px solid silver;
}
.teacher_reserve th,
.teacher_reserve td {
  padding: 3px;
}
#message_list th,
#message_list td {
  border: 1px solid #ccc;
}
@media screen and ( max-width:760px ){
  .courses li .medal {
    top: 10%;

  }
}
/* option */
.option {
	list-style: none;
	padding: 0;
	margin: 0;
	text-align: center;
}
	.option li {
		margin: 5px;
		margin-bottom: 15px;
		border-bottom: 1px solid #ccc;
		background-color: #ffffff;
		border-radius: 8px;
	}
	.option #option_name {
		border: 1px solid #000000;
		border-radius: 6px;
		margin: 1em;
		margin-bottom: 10px;
		padding: .3em;
	}
	.option #amount {
		font-weight: bold;
		font-size: 56px;
		text-align: center;
	}
	.option .pay {
		padding: 0;
		text-align: center;
	}
		.option .pay .btn {
			margin: 10px;
			width: 90%;
			height: 50px;
			font-size: 18px;
			border-radius: 8px;
		}
		.option .pay .btn-default {
			background-color: #ffbb00;
			color: #ffffff;
			border: none;
			line-height: 2em;
		}
	.option #option_description {
		font-size: 18px;
		text-align: left;
		padding: 0 2em .5em 2em;
	}
	.option hr {
		padding: 0;
		height: 2px;
		background-color: #eeeeee;
	}
	.option h2 {
		font-size: 20px;
		font-weight: bold;
		margin-bottom: 1em;
		color: #f00;
		background: white;
	}


/* ======= Additional Style ======= */

#lessonInfo #teacher_photo{
        width: 80px;
        float: none;
    margin-left: 0;
}
#lessonInfo img#teacher_star{
    display: none;
}
#lessonInfo #req_title{
    font-size: 26px;
    padding-top: 0;
}
#lessonInfo #teacher_name{
        margin-left: 45px;
    padding-top: 5px;
    font-size: 14px;
    margin-bottom: 0;
}
#lessonInfo #lesson{
    padding: 14px 3em 15px;
}
#lesson table tr {
    display: inline-block;
    padding-right: 18px;
}
#lessonInfo table .request_title{
    font-size: 18px!important;
    padding-top: 4px!important;
    padding-bottom: 4px!important;
    line-height: 1.8em!important;
}
.lesson .search-result .btn{
    line-height: 2.4em;
    background-size: 145px!important;
    min-height: 105px!important;
    background-repeat: no-repeat!important;
    width: 145px!important;
    border: 0!important;
    background-color: #ff6600;
    font-size: 18px!important;
    box-shadow: none!important;
}

#main .container form input[type=file]{
    background-image: url(http://sandbox.key-eye.net/~coder/worldikids2/img/icon-1.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    min-height: 100px;
    color: transparent;
    text-indent: -9999px;
    width: 112px;
    outline: none;    
}

@media screen and (max-width: 767px){

    #profile label{
        padding-bottom: 12px;
        margin-bottom: 0;
    }
    #profile .radio label{
        width: 5em;
        padding-left: 0;
        padding-top: 0;
        padding-bottom: 0;
        float: left;
    }
    #profile .checkbox label{
        padding-left: 0;
        padding-bottom: 0;
        padding-top: 10px;
    }
}


