body {
  background-color:#eee;
  background-image:url(image/background.gif) ;  
}

.container{
  width:100%;
  max-width: 900px;
  margin:0 auto;
  background-color: #555;  
}

.header{
  width: 100%;
  height: 70px;  
  background-image:url(image/header.jpg);
  background-color:#006699;
  border-bottom:2px solid #336699;
}

.logo a img{
  width: 300px;
} 
@media screen and (max-width: 300px) {  
  .logo a img{
    width: 100%;
  }
}

.main{
  display: flex;
  width: 100%;
}
/* .menu{
  flex: 0;
} */

.footer{
  text-align: right;
  padding: 5px;
	background-color: #4C67AA;
	color: #fff;
}

/* メニューバー */
nav {
  display: block;
  position: fixed;
  background-color: #ffffff;
  width: 220px;
  top: 0;
  left: -300px;
  bottom: 0;
  transition: all 0.5s;
  z-index: 3;
  opacity: 0;
}

.open nav {
  left: 0;
  opacity: 1;
}
nav .inner {
  padding: 25px;
}
nav .inner ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
nav .inner ul li {
  margin: 0;
  border-bottom: 1px solid #333;
}

nav .inner ul li a {
  display: block;
  color: #333;
  padding: 1em;
  text-decoration: none;
  transition-duration: 0.2s;
}

nav .inner ul li a:hover {
  background: #e4e4e4;
}
@media screen and (min-width: 530px) {  
  .menu {      
    width:29%;
    max-width: 250px;
    opacity:1;
    background-color: #f5f5f5;
  }
  nav {    
    position: static;
    opacity: 1;
    padding: 0;
    margin: 0;
    width:100%;
  }
  
  nav .inner {   
    padding: 0;
    margin: 0;
  }
  nav .inner ul{      
    margin: 0;
    padding: 0;
  }    
  nav .inner ul li {
    margin: 0;
    border-bottom: 1px solid #888;
  }
  nav .inner ul li a{
    font-weight: bold;
    text-align:left;
    padding: 0.4em 0.4em 0.4em 0.7em; 
    display:block;
    color:#3C4D58;
    text-decoration:none;
  }
  nav .inner ul li a{
    background: #f2f2f2;
    background: linear-gradient(to bottom, #f2f2f2 0%, #ccc 100%);
    box-shadow: inset 1px 1px 1px #fff;
  } 
  nav .inner ul li a:hover{
    background: linear-gradient(to top, #66f 0%, #99f 100%);
  } 
}

.address {
  display: none;  
} 
@media screen and (min-width: 530px) {
  .address {
    display: block;
    border:0;
    margin:0;
    padding:8px;
    text-align:center;
    font-size: 0.8em;    
    letter-spacing: 0.08em;  
  }
} 

/* ハンバーガーメニュー */
.toggle-btn {
  display: block;
  position: fixed;
  z-index: 3;
  cursor: pointer;  
  display: block;
  top: 12px;
  right: 12px;
  height: 55px;
  width: 50px;
  border-radius: 5px;
  border: #336699 solid 3px;
  background-color: #fff;
}

@media screen and (min-width: 530px) {
  .toggle-btn {
    display: none;
  }
} 


.toggle-bar {
  display: block;
  position: relative;
  width:40px;
  height:40px;
  margin: 0 auto;
  z-index: 3;
  cursor: pointer;
}

.toggle-btn span {
  position: absolute;
  display: block;
  left: 5px;
  width: 30px;
  height: 4px;
  background-color: #555;
  transition: all 0.5s;
  border-radius: 5px;
}

.toggle-menu{
  text-align: center;
  margin-top: 0px;
  padding: 0;
  font-size: 10px;
  z-index: 3;
  color:#555;
  font-weight: bold;
}

.toggle-btn span:nth-child(1) {
  top: 6px;
}
.toggle-btn span:nth-child(2) {
  top: 18px;
}
.toggle-btn span:nth-child(3) {
  top: 30px;
}


.open .toggle-btn span:nth-child(1) {
  transform: translateY(12px) rotate(-315deg);
}

.open .toggle-btn span:nth-child(2) {
  opacity: 0;
}

.open .toggle-btn span:nth-child(3) {
  transform: translateY(-12px) rotate(315deg);
}

#mask {
  display: none;
  transition: all 0.5s;
}

.open #mask {
  display: block;
  background: #000;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: fixed;
  opacity: 0.8;
  z-index: 2;
  cursor: pointer;
}




/*  コンテンツ部分  */	

.content{
  padding:15px;
  text-align:left;
  background-color: #ffffff;
  line-height: 150%;
  flex: 1;
}


@media screen and (min-width: 700px) {
  .content {
   padding:1em 2em 1em 2em;
  }
}

.content p{
  text-indent: 1em;
  letter-spacing: 0.08em;
  margin-top: 0.3em;
  margin-bottom: 0.3em;
}

.content ul{
  padding-left: 1.2em;
}


.right{
  text-align: right;
}
.center{
  text-align: center;
}
.bold{
  font-weight: bold;
}
.red{
  color:#f00;
}
.small{
  font-size: 0.8em;
}
.hidden{
  display: none;
}
.phone_only{

}
@media screen and (min-width: 700px) {
  .phone_only{
    display: none;

  }
}

/*  ボタン装飾  */	

button{
  cursor: pointer;
}
.button{
  text-align: center;
  margin: 10px auto;
  width:300px;
  min-width: 50%;
}

.button button{  
  width: 100%; 
  font-size: 120%;
  padding: 10px;
  margin: 20px 0px;
  text-decoration: none;	
  background: linear-gradient(to top, rgb(5, 130, 174), #27acd9);
  box-shadow: 0 2px 5px rgba(0, 0, 0, .2);
  transition: 0.5s;
  color: #fff;
  border:0px;  
  border-radius: 10px;
}

@media screen and (max-width: 300px) {
  .button{
    width:100%;
  }
}

.button button:hover {
  color: #fff;
  opacity: 0.5;
}

h1 {
  padding: 0.7em .5em;
  font-size: 1.3em;
  text-align: center;
  background: linear-gradient(to right, #002255,#003399);
  color: #fff;
}
h2{
  padding: 0.5em;
  color: #494949;
  background: #f8f8ff;
  border-left: solid 5px #168;
  font-size: 1.2em;

}

.box{
  padding: 0.5em 1em;
  width: 85%;
  margin: 0 auto 20px auto;
  background: white;
  border-top: solid 5px #5d627b;
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.22);
}

/*  テーブル  */
table{
  border-collapse: collapse;
  margin: 5px auto;
  border: solid #3366cc 2px;        
}

th{
  text-align: center;
  border:solid #3366cc 1px;
  background-color:#f5f5ff;
  color:#002255;
}

td{
  text-align: center;
  border:solid #3366cc 1px;  
  padding:3px;      
}

/* 塾の理念 */
h3{
  position: relative;
  padding-left: 25px;
  font-size: 1.2em;
  font-weight: bold;
}

h3:before{
  position: absolute;
  content: '';
  bottom: -3px;
  left: 0;
  width: 0;
  height: 0;
  border: none;
  border-left: solid 15px transparent;
  border-bottom: solid 15px #ee0b0b;
}
h3:after{
  position: absolute;
  content: '';
  bottom: -3px;
  left: 10px;
  width: 98%;
  border-bottom: solid 3px #ee0b0b;
}

/* 授業内容 */
.lesson_heading {
  position: relative;
  margin: 0 auto 20px auto;
  width: 90%;
  padding: 4px;
  background-image: -webkit-linear-gradient(315deg, #231557 0%, #44107a 29%, #ff1361 67%, #fff800 100%);
  background-image: linear-gradient(-225deg,#ff2222 0%,  #ffdd00 100%);
}

.lesson_heading span {
  text-align: center;
  display: block;
  padding:10px;
  font-size: 1.1rem;
  font-weight: bold;
  background-color: #fff;

}

.name{
  background-color:#3366cc;
  color:#fff;
  padding:5px;  
  margin: 0 10px;
}

.individual_lesson{
  border: solid 1px  #3366cc;
  padding:10px;
  margin: 0 10px 20px 10px;
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.22);

}

.state{
  background-color: #fafafa;
  padding:5px;
}

.arrow{
  text-align: center;
}


.lesson{
  background-color: #e6e6ff;
  padding:5px;
}
