@charset "UTF-8";

.img_per {
  height: auto;
  width: 100%;
}

.teacher{
	background:#E7B072	;
	padding:4px 10px ;
	color:#fff;
	font-size:16px ;
	font-size:1.6rem;
}

ul.shikaku{
	margin-left:20px ;
}

ul.shikaku li{
	padding-bottom:10px ;
	line-height:1.4;
}

.col-sm-12 ul{margin-left:20px ;
    padding: 15px 0 20px 0;}
.col-sm-12 li{padding: 5px 0 5px 0;}

.clearfix {clear: both;
}
.clearfix:after {display: inline-block;
  content: ".";   
     display: block;   
     visibility: hidden;   
     height: 0.1px;   
     font-size: 0.1em;   
     line-height: 0;   
     clear: both;   
}
/* ------------------------------------- */
/*	 Header
/* ------------------------------------- */
#header {
	padding-top: 20px;
		position:relative;
		background:#FFF;
}

/*  logo
/*--------------------------------- */
#header p.hlogo{
	margin:20px auto;
	width:280px;
	height:62px ;
	background: url(../img/common/head_logo.gif) top left no-repeat;
	text-align:center:
	}
	
#header p.hlogo a{
display:block;
	width:280px;
	height:62px ;
	}

.none{
 	display:none;
}

.navbar-collapse {
    padding-right: 15px;
    padding-left: -15px;
}

.fa-2x{
	font-size:12px  ;
}
.red {
    color: #A02B2F;
		font-size:120%;
}


/* ------------------------------------- */
/*	 needs
/* ------------------------------------- */

#needs_box{
	padding:20px 0px ;
	margin-bottom:30px ;
}

.needs {
padding:15px ;
}

.needs  img{
	width:100%;
	height:100%;
			border-radius: 50%;
}

.needs  p{
	padding-top:20px ;
}
	
figure {
	position: relative;
	width: 100%;
}
figcaption {
	position: absolute;
	bottom: -10px;
	left: 0;
	z-index: 2;
	width: 100%;
/*	background: rgba(0,0,0,.6);*/
	-webkit-transition: .3s;
	transition: .3s;
}
figure:hover figcaption {
	bottom: 0;
}

figcaption h3 {
			padding: 5px 0 0;
			font-size: 120%;
			text-align:center;
			margin:0px ;
			font-weight:700;
			color:#5A71A3;
    text-shadow:
      white 2px 0px 0px,
      white 0px 2px 0px,
      white -2px 0px 0px,
      white 0px -2px 0px;
	}
figcaption p {
			font-size: 13px;
			text-align:center;
		}
figure:hover figcaption {
			bottom: -10px;
		}
		
figure img {
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}
figure:hover img {
	border-radius: 0%;
	-webkit-transition: .5s ease-in-out;
	transition: .5s ease-in-out;
}

figure:hover h3 {
	color:#60A09A;
	font-size:140%;
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}

/* ------------------------------------- */
/*	 lesson
/* ------------------------------------- */

.padding-20{
padding-bottom: 20px;}

#lesson_box{
	margin-bottom:30px ;
	padding:0px ;
}

ul#lesson_base{
	margin:10px ;
	padding-left:20px ;
}

ul#lesson_base li{
	margin:0px ;
	padding-bottom:8px ;
}

.lesson_inner{
	margin:10px 3px ;
	padding:15px ;
	border: #CCC 1px solid;
	background:#FFF;
}

.lesson_inner img{
	float:left;
	width:130px ;
	margin:0 15px 0px 0;
}

.lesson_inner .panel-heading{
	margin:0px ;
	padding:0px 15px 0px 145px;
	font-size:18px ;
	color:#9C7657;
	background:none;
	border:none;
	}

.lesson_inner .panel-txt {
		margin:0px ;
	padding-bottom:10px ;
	line-height:1.4;
	text-align:left;
}

/*
#lesson_detail{
}

#lesson_detail::before,
#lesson_detail::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}

#lesson_detail .panel {
	padding:10px ;
	background:#FFF;
}

#lesson_detail .panel-heading{
	margin:0px ;
	padding:0px 15px 0px 165px;
	font-size:18px ;
	color:#9C7657;
	background:none;
	border:none;
	}

#lesson_detail .panel-body {
	margin-bottom:0px ;
	padding:0px 15px 0px 165px;
	line-height:1.4;
	text-align:left;
}

#lesson_detail img {
	float:left;
	width:150px ;
}*/


/* ---------------------------------------------------- */
/* VOICE
/* ---------------------------------------------------- */

#voice_box{
	margin-bottom:30px ;
	padding:0px ;
}

.voice_inner{
	margin:10px 3px ;
	padding:15px ;
	border: #CCC 1px solid;
	background:#FFF;
}

	.voice_inner img{
	float:left;
	width:120px ;
	margin:0 15px 15px 0;
}



.voice_inner h3{
	margin:0px ;
	padding-bottom:10px ;
}

.voice_inner dl{
	margin-bottom:0px ;
	padding:0px ;
}

.voice_inner dt{
	margin:0px ;
	padding-bottom:0px ;
	color: #60A09A;
	font-weight:normal;
}

.voice_inner dd{
	margin:0px ;
	padding-bottom:10px ;
}

.voice_inner p{
padding:0px ;
text-align:right;
font-size:14px ;
font-size:1.4rem;
}

@media(max-width:600px){
.voice_inner{
	margin-bottom:15px;
}
}
/* ---------------------------------------------------- */
/* skype
/* ---------------------------------------------------- */

.skype_img01{
	position:relative;
	width:50%;
}

.skype_img02{
	position: absolute;
	bottom:-80px;
	right:15px;
	width:40%;
	z-index:1;
}

@media(max-width:767px){
.skype_img01{
	margin-bottom:200px ;
}
}
/* ---------------------------------------------------- */
/* BASE BTN
/* ---------------------------------------------------- */

.btn {
	display: inline-block;
	text-align: center;
	text-decoration: none;
outline: none;
	border:none;
	margin:20px 0px ;
	padding:20px  0px ;
		cursor: pointer;
cursor: hand;
border-radius: 4px;	
	-webkit-border-radius: 4px;	
	-moz-border-radius: 4px;
	width:100%;
}
.btn::before,
.btn::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
.btn,
.btn::before,
.btn::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}

.btn {
	background: #87867F;
	color: #fff;
}
.btn:hover {
	background-color: #60A09A;
	color:#fff;
}

.w300{
	width:300px ;
}

/*----------------------------------------------------
    TABLE
----------------------------------------------------*/
.table_clm th  { width: 30%; text-align: left; }
 
@media only screen and (max-width:600px){
    .table_clm th,
    .table_clm td{
        width: 100%;
        display: block;
        border-top: none;
    }

    .table_clm th{ background:#eee; color:#60A09A;}
}

.table{
    border-bottom: 1px solid #ccc;
}
.table>tbody>tr>td, .table>tbody>tr>th, .table>tfoot>tr>td, .table>tfoot>tr>th, .table>thead>tr>td, .table>thead>tr>th {
    padding: 12px 18px;
    line-height: 1.42857143;
    vertical-align: middle;
    border-top: 1px solid #ccc;
}


th{ background:#fff; color:#60A09A;}
td{ background:#fff ;}

.must {
    margin-left: 10px;
    padding: 3px 4px;
    color: #fff;
    font-size: 9px;
    letter-spacing: 1px;
    margin: 0 0 0 10px;
    line-height: 9px;
    border-radius: 3px;
    zoom: normal;
    background: #60A09A;
}

label {
    display: inline-block;
    max-width: 100%;
    margin-bottom: 0px;
    font-weight: normal;
}


.form-control {
display: block; 
     width: 100%; 
     height: 34px; 
     padding: 6px 12px; 
    font-size: 14px;
    line-height: 1.42857143;
    color: #555;
    background-color: #fff;
    background-image: none;
    border: 1px solid #ccc;
    border-radius: 4px;
    -webkit-box-shadow: none;
    box-shadow: none;
    -webkit-transition: none;
    -o-transition: none;
    transition: none;
}

label {
    min-height: 20px;
    padding-left: 0px;
    margin-bottom: 0;
    font-weight: normal;
    cursor: pointer;
}

.teach_price{
    background: #C8B2A0;
    padding: 10px 10px;
    width: 100%;
    color: #FFF;
    text-align: center;
    width: 100%;
    line-height: 1.2;
    font-size: 16px;
    font-size: 1.6rem;
    margin-top: 20px;
    margin-right: 0;
    margin-left: 0;
    margin-bottom: 15px;
}

.teach_point{
padding:10px 10px ;
color:#9D7C64;
	text-align:center;
	line-height:1.2;
		font-size:20px ;
		font-size:2rem;
		margin:5px 0;
}

.sp{
	margin-bottom:30px ;
}


/*----------------------------------------------------
    table02
----------------------------------------------------*/

 .table_clm02 .table-bordered>thead>tr>td, .table_clm02.table-bordered>thead>tr>th {
    border-bottom-width: 0px;
}

 
@media only screen and (max-width:700px) { 

.table-bordered>tbody>tr>td, .table-bordered>tbody>tr>th, .table-bordered>tfoot>tr>td, .table-bordered>tfoot>tr>th, .table-bordered>thead>tr>td, .table-bordered>thead>tr>th {
    border: none; 
}

 .table_clm02 .table-bordered>thead>tr>td, .table_clm02.table-bordered>thead>tr>th {
    border-bottom-width: 1px;
}

    .table_clm02 { 
        display: block; 
        width: 100%; 
        margin: 0px;
				border:none;
    }

    .table_clm02 { 
        display: block; 
        width: 100%; 
        margin: 0px;
				border:none;
    }

    .table_clm02 thead{ 
        display: block; 
        float: left;
							border-top:1px solid #ddd;
				border-left:1px solid #ddd;
				border-right:1px solid #ddd;
	}
    .table_clm02 tbody{ 
        display: block; 
        overflow-x: auto; 
				border-top:1px solid #ddd;
				border-right:1px solid #ddd;
/*        white-space: nowrap;*/
    }
    .table_clm02 th{ 
        display: block;
				
    }
    .table_clm02 tbody tr{ 
        display: block; 
    }
    .table_clm02 tbody  td{ 
        display: block;
    }

    .table_clm02 td::before {
    content: attr(data-label);
    float: left;
    font-weight: bold;
		clear:both;
  }
	
.table-bordered>tbody>tr>td, .table-bordered>tbody>tr>th, .table-bordered>thead>tr>th {
    border-bottom:1px solid #ddd;
    border-left: 1px solid #ddd;
}

}
/*  panel-box
/*--------------------------------- */

.panel_area {
	margin:0px ;
    padding: 30px 0px 15px 0px ;
		background:#EEE7E1;
    /*background:url(../img/common/bg_all.png);*/
}

.panel_base {
    padding: 0px;
    margin-right: auto;
    margin-left: auto;
        clear: both;
}


.panel {
	margin-bottom: 20px;
	border: none;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
	position:relative;
	background:none;
	box-shadow: none;
}

.panel-body {
	text-align: center;
	padding:0px ;
		padding-bottom:70px ;
		overflow: hidden;
}

.panel-body img{
	width:100% ;
	 transition: 0.5s;
}

.panel-body img:hover {
  -moz-transform: scale(1.1,1.1);
  -webkit-transform: scale(1.1,1.1);
  -o-transform: scale(1.1,1.1);
  -ms-transform: scale(1.1,1.1);
}

.panel-footer {
	position:absolute;
  left: 0;
  right: 0;
  margin: auto;
	padding:0;
	text-align: center;
	border-top: none;
	border-bottom: none;
background:none;
bottom:10px ;
}

.panel-footer img {
	width:100% ;
}

.panel_payment {
	margin-bottom: 20px;
	border: none;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	position:relative;
	background:none;
	box-shadow: none;
padding:15px;
	background: #BBA4A6;
	color:#FFF;
	text-align:center;
}

.panel_payment .p_tite {
	font-size:18px ;
	font-size:1.8rem;
	font-weight:500;
	color:#fff;
	border-bottom:#FFF 1px solid;
	padding:5px 0px;
}

.priceList {
    padding-left: 5px;
    line-height: 40px;
    font-size: 30px;
		font-size:3rem;
}

@media (max-width: 768px){
	.panel{
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
	
}

/*  nav
/*--------------------------------- */
@media (min-width: 768px){ /* xsサイズでの崩れ防止 */

.navbar {
		border-radius: 0;
	}
	

.navbar-nav {
		float: none;
		width: 100%;
		margin: 10px auto;
				color:#644C39;
	}
	
.navbar-nav>li {
		text-align: center;
		float: left;
		width: 15%;
		border-right: 1px dotted;
	}
.navbar-nav>li.first {
		border-left: 1px dotted;
	}
	

.navbar-nav>li>a {
		display:block;
		height:50px ;
		vertical-align:middle;
		line-height:1;
		color:#644C39;
}
	
.navbar-default {
		background-color: #fff;
		border:none;
	}
	
.navbar-default .navbar-nav>li>a {
		display:block;
				position: relative;
	transition: .3s;
			color:#644C39;

	}

.navbar-default .navbar-nav>li>a::after {
	position: absolute;
	bottom: 0;
	left: 50%;
	content: '';
	width: 0;
	height: 5px;
	background-color: #E5B7B9;
	transition: .3s;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

.navbar-default .navbar-nav>li>a:hover::after {
		width: 95%;
}
}

/* navスタイリング */
@media (max-width: 768px){
	.navbar-default {
		border-color: none;
		border-left: none;
		border-right: none;
		border-bottom: none;
		background:#E5B7B9;
	}

.navbar-default .navbar-toggle {
    border-color:#E5B7B9;
}
.navbar-nav {
	margin:0px 0px;
	border-bottom:none;
}

.navbar-default .navbar-nav>li>a {
    color: #644C39;
    font-size: smaller;
}

.navbar-default .navbar-nav>li>a:hover {
    color: #DE816D;
}
.navbar-nav>li {
		border-bottom: #ccc 1px solid;
		background:#FFF;
}


	.navbar-default .navbar-toggle {
		border-color: none;
	}
	.navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus {
		background-color: #fff;
	}
	
	.navbar-default .navbar-toggle .icon-bar {
		background-color: #644C39;
	}
	.navbar-default .navbar-toggle:hover > .icon-bar,
	.navbar-default .navbar-toggle:focus > .icon-bar {
		background-color: #644C39;
	}
	
	.navbar-default .navbar-brand {
		color: #644C39;
	}
}



/*  nav
/*--------------------------------- */
.navbar {
	margin-bottom: 0; /* 追記 */
}

/*  carousel
/*--------------------------------- */
.carousel-inner img{ /* フルワイド化 */
	width: 100%;
}



/* ------------------------------------- */
/*	 content
/* ------------------------------------- */
.title{
	text-align: center;
	margin-top: 40px;
	margin-bottom: 20px;
	margin: 1em 0 0.75em;
    padding: 0 0 5px 0;
    color: #644C39;
    font-weight: normal;
    position: relative;
    text-shadow: 0 2px 0 rgba(255,255,255,0.5);
    line-height: 40px;
    font-family: 'Carrois Gothic', sans-serif;
}

.text-box{
	margin-bottom: 40px;
}

@media (max-width: 768px){
.title{
	font-size:30px ;
}


h3{
	font-size:18px ;
}
}

.orange{
	color:#DE816D;
	font-size:24px ;
    clear: both;
}
.blue{
	color:#5A71A3;
	font-size:24px ;
    clear: both;
}
.green{
	color:#779758;
	font-size:24px ;
}

.glyphicon{
	padding-right:10px ;
}
/*  button-box
/*--------------------------------- */
.button-box{
	text-align: center;
	padding: 60px 0;
	margin-top: 40px;
	background-color: #eee;
}

.button-box p{
	color: #888;
}

.btn {
	padding: 4%;
    font-size: 1.1em;
}

.button-box .btn-default{
	color: #fff;
	font-size: 18px;
	font-weight: bold;
	background-color: #7E7E7E;
}



/* ------------------------------------- */
/*	  Footer
/* ------------------------------------- */
#footer{
	text-align: center;
	padding: 40px 0;
	background-color: #fff;
}

/*  logo
/*--------------------------------- */
#footer .logo{
	margin-top: 0;
}


/*  nav need
/*--------------------------------- */
#footer ul {
	text-align:center;
}
	
	#footer li {
	border-right: 1px solid #ccc;
	list-style:none;
	width:auto;
	padding:0px 10px ;
	display:inline-block;
	line-height:1;
}
#footer li.first{
	border-left: 1px solid #ccc;
}


/*  sns-icon
/*--------------------------------- */
.sns-icon{
		position:absolute;
	top :10px ;
	right:15px ;

}

.sns-icon ul{
}

.sns-icon li{
	padding-left: 15px;
	font-size:10px ;
	color: #999;
	cursor: pointer;
	}
	
.sns-icon i{
	padding-right:5px ;
}
	
.sns-icon li:hover{
	color: #ccc;
}

/*  copy
/*--------------------------------- */
.copy{
	margin-top: 20px;
}

.copy span{
	color: #333;
}

@media(min-width: 768px) {
}
	

	/* --------- common ---------- */

	#contents {
		padding-top: 30px;
	}
	
.w100{
	width:100px ;
}
.w200{
	width:200px ;
}

.nav_scrool {
    padding: 0 20px;
    margin: 0 auto 60px;
    width: 760px;
}
.fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
}

}


/* ------------------------------------- */
/*	  Flow
/* ------------------------------------- */

ol.flow {
width: 100%; 
margin: 10px 0px;
padding: -15px;
}

ol.flow li {
margin-bottom: 20px; 
padding: 20px;
border:5px solid #EFE8D7		;
list-style:none;
border-radius: 10px;   
    -webkit-border-radius: 10px;  
    -moz-border-radius: 10px;
		background:#FFF;
		position:relative;
}

/* --- ボックス --- */
ol.flow dl {
margin: 0;
}

ol.flow dt {
padding: 0px; 
font-weight: normal;
color: #9C7657;
font-size:20px ;
}

/* --- 本文エリア --- */
ol.flow dd {
margin: 0;
padding: 0px 0px; 
line-height: 1.5;
}

.arrow {
    margin: 10 auto ;
		width:100%;
		height:60px ;
		background:url(../teaching/img/arrow.png) top center no-repeat;
}

/* フロー 

.arrow {
    margin: 0 auto 50px;
}
.arrow .flow_box {
    margin: 0 auto 70px;
    position: relative;
}
.arrow .flow_box:after {
margin-bottom:-25px;
    border-top: 30px solid #fff;
    border-left: 70px solid transparent;
    border-right: 70px solid transparent;
    content: "";
    position: absolute;
    bottom: -28px; 
    left: 50%;
    margin-left: -70px;
		color:#fff;
}
*/
.b_shadow
{
  position: relative;
}
.b_shadow:before, .b_shadow:after
{
  z-index: -1;
  position: absolute;
  content: "";
  bottom: 15px;
  left: 10px;
  width: 50%;
  top: 80%;
  max-width:300px;
  background: #777;
  -webkit-box-shadow: 0 15px 10px #777;
  -moz-box-shadow: 0 15px 10px #777;
  box-shadow: 0 15px 10px #777;
  -webkit-transform: rotate(-3deg);
  -moz-transform: rotate(-3deg);
  -o-transform: rotate(-3deg);
  -ms-transform: rotate(-3deg);
  transform: rotate(-3deg);
}
.b_shadow:after
{
  -webkit-transform: rotate(3deg);
  -moz-transform: rotate(3deg);
  -o-transform: rotate(3deg);
  -ms-transform: rotate(3deg);
  transform: rotate(3deg);
  right: 10px;
  left: auto;
}

@media(max-width: 480px) {
	ol.flow li {
padding: 12px;
}
}
