@charset "UTF-8";

@import url(http://fonts.googleapis.com/earlyaccess/notosansjapanese.css);

@import url(https://fonts.googleapis.com/css?family=Vollkorn);

body {
  margin: 0;
  background-image: url("../img/bg.png");
  background-repeat: repeat;
  background-attachment: fixed;
  background-position: top left;
  font-family: 'Noto Sans Japanese','Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif;
  font-weight:500;
  color:#47352a;
  font-size:10px;
  letter-spacing: 0.1em;
  line-height: 180%;
}

/* common
   ========================================================================== */
a{
  color: #47352a;
  text-decoration: none;
}
a:link { color: #47352a; }
a:visited { color: #47352a; }
a:hover {
  color: #47352a;
  text-decoration: underline;
}
a:active { color: #47352a; }
.clear-fix:after{
  content: ".";
  display: block;
  height: 0;
  font-size:0;
  clear: both;
  visibility:hidden;
}
/* header
   ========================================================================== */
header{
  margin:0 auto;
  width:1000px;
}
.head-h1{
  max-width: 100%;
  height: 24px;
  text-align: left;
}
.head-h1 h1{
  padding: 4px;
  color: #7d6557;
  font-size: 12px;
  font-weight: 400;
}
.head-h1 br{
  display: none;
}
.head-h1sp{
  display: none;
}
.header-wrap{
  position: relative;
  display: table;
  width:100%;
  padding:15px 0;
}
.header-wrap:before{
  content: "";
  display: block;
  padding-top: 9%;
}
/* logo */
.header-logo{
  display: table-cell;
  width:33.4%;
  text-align:left;
  vertical-align: middle;
}
.header-logo img{
  width:94.011%;
  height:auto;
}

/* menu */
.menubtn-off, .global-nav{
  display: none;
}
.header-menu{
  display: table-cell;
  width:66.6%;
  text-align:right;
  vertical-align: middle;
}
.header-menu ul{
  float:right;
}
.header-menu li{
  float:left;
}
.header-menu a{
  display:block;
  width:110px;
  text-align:center;
  /*border-left: 2px dotted #47352a;*/
  background: url(../img/bg_tatedotted.png) repeat-y;
}
.header-menu li:last-child a{
  border-right: 2px dotted #47352a;
}
.header-menu a{
  text-decoration: none;
  font-weight: bold;
}
.header-menu li a span{
  padding:0.2em 0;
}
.header-menu li.header-menu-about span:hover,
.header-menu li.header-menu-about span.header-menu-on
{
  border-bottom:2px solid #ff78d1;
}
.header-menu li.header-menu-class span:hover,
.header-menu li.header-menu-class span.header-menu-on
{
  border-bottom:2px solid #ff5e5a;
}
.header-menu li.header-menu-schedule span:hover,
.header-menu li.header-menu-schedule span.header-menu-on
{
  border-bottom:2px solid #ffb243;
}
.header-menu li.header-menu-teacher span:hover,
.header-menu li.header-menu-teacher span.header-menu-on
{
  border-bottom:2px solid #ffe400;
}
.header-menu li.header-menu-contact span:hover,
.header-menu li.header-menu-contact span.header-menu-on
{
  border-bottom:2px solid #b5da5c;
}
.header-menu li.header-menu-access span:hover,
.header-menu li.header-menu-access span.header-menu-on
{
  border-bottom:2px solid #3dc9e2;
}


/* photo
   ========================================================================== */
.photo{
  margin-bottom:30px;
}
.photo-img{
  width:100%;
  height:640px;
  background: url(../img/header-01.jpg) 50% 50% no-repeat;
  background-size: cover;
  position:relative;
}
.photo-img-flag{
  height: 20px;
  background: url(../img/flag.png) repeat-x;
  text-align:center;
}
.photo-img-flag-bottom{
  height:20px;
  background: url(../img/flag.png) repeat-x;
}
.photo-text-1,
.photo-text-2,
.photo-button
{
  display:block;
}
.photo-text-1{
  display: inline-block;
  position:relative;
  font-family: 'Vollkorn';
  font-size:50px;
  top:414px;
  padding-bottom:20px;
  color:#fff;
  border-bottom:2px solid #fff;
}
.photo-text-2{
  position:relative;
  font-size:22px;
  top:426px;
  color:#fff;
}
.photo-button{
  position:relative;
  top:446px;
  color:#fff;
}
.photo-button img{
  max-width: 300px;
}

/* contentsTop
   ========================================================================== */
.contentsTop{
  margin-bottom:50px;
}
.aboutTop-img{
  width:100%;
  height:322px;
  background: url(../../jiyugaoka/img/header-00.png) 50% 50% no-repeat;
  background-size: cover;
  position:relative;
}
.classroomTop-img{
  width:100%;
  height:322px;
  background: url(../../jiyugaoka/img/header-01.png) 50% 50% no-repeat;
  background-size: cover;
  position:relative;
}
.scheduleTop-img{
  width:100%;
  height:322px;
  background: url(../../jiyugaoka/img/header-02.png) 50% 50% no-repeat;
  background-size: cover;
  position:relative;
}
.teacherTop-img{
  width:100%;
  height:322px;
  background: url(../../jiyugaoka/img/header-03.png) 50% 50% no-repeat;
  background-size: cover;
  position:relative;
}
.contactTop-img{
  width:100%;
  height:322px;
  background: url(../../jiyugaoka/img/header-04.png) 50% 50% no-repeat;
  background-size: cover;
  position:relative;
}
.accessTop-img{
  width:100%;
  height:322px;
  background: url(../../jiyugaoka/img/header-05.png) 50% 50% no-repeat;
  background-size: cover;
  position:relative;
}
.contentsTop-img-flag{
  background: url(../img/flag.png) repeat-x;
  text-align:center;
}
.contentsTop-img-flag-bottom{
  height:21px;
  background: url(../img/flag.png) repeat-x;
}
.contentsTop-text-1,
.contentsTop-text-2,
{
  display:block;
}
.contentsTop h2{
  position:relative;
  font-size:48px;
  top:140px;
  padding-bottom:25px;
  color:#fff;
}
.contentsTop p{
  position:relative;
  font-size:24px;
  font-weight: 500;
  top:145px;
  color:#fff;
}
/* contents
    ======================================================================== */
.mtLink{
  text-decoration: underline;
}
.mtLink:hover{
  color: #fffbe6;
  background-color: #8b6c5a;
  text-decoration: none;
}
.contents h3{
  line-height: 35px;
  margin: 45px auto 5px auto;
  font-family: "Noto sans japanese",sans-serif;
  font-size: 28px;
  font-weight: 600;
  max-width: 530px;
  text-align: left;
}
.contents h3 br{
  display: none;
}
.contents p{
  letter-spacing: 0.03em;
  line-height: 30px;
  margin: 0 auto;
  max-width: 530px;
  font-size: 10.5pt;
  font-weight: 500;
  text-align: left;
}
.contents-end-class{
  letter-spacing: normal;
  line-height: 31px;
  margin: 40px auto 35px auto;
  max-width: 530px;
  padding: 10px 0px 10px 5px;
  background-color: #fffbe6;
}
.contents-end-teacher{
  letter-spacing: normal;
  line-height: 31px;
  margin: 20px auto;
  max-width: 570px;
  padding: 10px 0px;
  background-color: #fffbe6;
}
.contents-end-about{
  letter-spacing: normal;
  margin: 0 auto 10px auto;
  max-width: 520px;
  padding: 20px;
  background-color: #fffbe6;
}
.contents-end-feature{
  letter-spacing: normal;
  margin: 0 auto;
  max-width: 850px;
  padding: 17px;
  background-color: #fffbe6;
}
.contents-end{
  letter-spacing: normal;
  line-height: 31px;
  margin: 40px auto 60px auto;
  max-width: 530px;
  padding: 10px 0px 10px 20px;
  background-color: #fffbe6;
}
.contents-end h2, dt{
  font-size: 18px;
  font-weight: 700;
  text-align: left;
}
.contents-end p, .contents-end-class p, .contents-end-teacher p, .contents-end-feature p{
  font-size: 14px;
  font-weight: 600;
  text-align: center;
}
.contents-end-feature p{
  font-size: 17px;
  font-weight: 600;
  text-align: center;
}
.contents-end-about p{
  font-size: 25px;
  font-weight: 600;
  text-align: center;
}
.contents-end-contact{
  margin: 48px auto 58px;
  max-width: 450px;
  padding: 26px 40px;
  background-color: #fffbe6;
}

.contents-end-contact li{
  letter-spacing: 0.01em;
  padding-top: 11px;
}
.contents-end-contact img{
  margin-right: 4px;
  vertical-align: middle;
}
.contents-end-contact p{
  padding-top: 10px;
  font-size: 20px;
  font-weight: 500;
  text-align: center;
}
.contact-tel{
  padding-bottom: 20px;
  border-bottom: dotted 2px #47352A;
}
.contact-tel h3{
  width: auto;
  text-align: center;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: -0.02em;
}
.contact-tel p{
  font-size: 24px;
  font-weight: 600;
}
.contact-mail{
  margin-top: 24px;
  margin-bottom: 6px;
}
.contact-mail h3{
  width: auto;
  text-align: center;
  font-size: 21px;
}
.contact-mail p{
  font-size: 12px;
  font-weight: 500;
  color: #ff7d5a;
}
.contents-end dd{
  font-size: 14px;
  font-weight: 500;
  text-align: left;
}
.classroom{
  letter-spacing: 0.06em;
  font-size: 25px;
  font-weight: 900;
  font-style: italic;
  text-align: center;
}
.contents-end-center{
  letter-spacing: normal;
  line-height: 2.1;
  margin:30px auto;
  max-width: 370px;
  padding: 10px 5px;
  background-color: #fffbe6;
}
.contents-end-center p{
  font-size: 14px;
  font-weight: 600;
  text-align: center;
}
.dd-end{
  margin-bottom: 23px;
}

/*   トップページ
=============================================================================*/
.about-img-1{
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 30px;
}
.about-img-2{
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 10px;
}
.feature-titleImg{
  display: block;
  margin: 35px auto 10px auto;
}
.access-img{
  display: block;
  margin: 35px auto 25px auto;
}
.feature-img-end{
  display: block;
  margin: 25px auto;
}
.about, .feature{
  max-width: 1000px;
  margin: 0 auto;
  padding-bottom: 30px;
  border-bottom: dotted 2px #47352A;
  text-align: center;
}
.access{
  text-align: center;
}
.access br{
  display: none;
}
.access-address:after{
  content: "";
  display: block;
  clear: both;
}
.access-address{
  width: 520px;
  margin: 0 auto;
}
.access-postCode{
  float: left;
}
.access-residence{
  float: right;
}
.access-residence, .access-postCode, .access-train{
  line-height: 2.2em;
  font-size: 16px;
  font-weight: 600;
}
.access-tel:after{
  content: "";
  display: block;
  clear: both;
}
.access-tel{
  margin: 12px auto 30px auto;
  width: 240px;
  vertical-align: middle;
}
.access-tel-1{
  float: left;
  font-size: 14px;
  font-weight: 600;
}
.access-tel-2{
  float: right;
  letter-spacing: 0.1em;
  font-size: 23px;
  font-weight: 600;
}
.access-img-end{
  margin: 23px auto;
}


/* feature-2column */
.feature-2column-A:after, .feature-2column-B:after{
  content: "";
  display: block;
  clear: both;
}
.feature-2column-A{
  margin: 40px auto 40px auto;
  max-width: 800px;
}
.feature-2column-B{
  margin: 40px auto 13px auto;
  padding-right: 18px;
  max-width: 836px;
}
.feature-1{
  float: left;
  width: 300px;
  height: auto;
}
.feature-2{
  float: right;
  width: 300px;
  height: auto;
}
.feature-3{
 float: left;
 width: 366px;
 height: auto;
}
.feature-4{
  float: right;
  width: 306px;
  height: auto;
}
.feature-whiteFrame{
  padding: 8px;
  background-color: #fff;
  border-radius: 100%;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
  width: 280px;
}
.feature-img{
  width: 280px;
  background-color: #fff;
  border-radius: 100%;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
}
.waku:before{
  box-shadow: 0px 0px 10px 1px inset;
}
.fukidashi{
margin-bottom: 18px;
}
.feature-text{
  margin: auto;
}
.feature-text p{
  line-height: 2.5em;
  font-size: 16px;
  font-weight: 600;
  text-align: center;
}


/*  講師紹介
=============================================================================*/
.teacher-img{
  margin: 0 auto 30px;
  width: 316px;
  height: auto;
}
.teacher-whiteFrame{
  padding: 8px;
  background-color: #fff;
  border-radius: 100%;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
}
.teacher-whiteFrame img{
  width: 100%;
  height: auto;
  border-radius: 100%;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
}
.teacher-name:after{
  content: "";
  display: block;
  clear: both;
}
.teacher-name{
  margin: 0 auto;
  max-width: 500px;
}
.teacher-name p{
  line-height: 2em;
  float: right;
}


/* accessPage
    ======================================================================== */
.accessPage{
  margin: 0 auto 40px auto;
  text-align: left;
  width: 420px;
}
.accessPage dl{
  padding: 15px;
  background-color: #fffbe6;
}
.accessPage h3{
  margin: 0 auto 40px auto;
  font-size: 22px;
  font-weight: 600;
  text-align: center;
}
.accessPage br{
  display: none;
}
.accessPage dt{
  line-height: 2.8em;
  margin: 0 auto;
  font-size: 16px;
  font-weight: 600;
}
.accessPage dd{
  margin-bottom: 10px;
  line-height: 1.5em;
  font-size: 14px;
  font-weight: 500;
}
.address{
  padding-bottom: 30px;
}


/* はじめに
    ======================================================================== */
.about-mt{
  width: 500px;
  margin: 0 auto;
}
.about-2column:after{
  content: "";
  display: block;
  clear: both;
}
.about-2column{
  width: 840px;
  margin: 60px auto;
  vertical-align: middle;
}
.about-img-left{
  float: left;
  width: 316px;
  height: auto;
  margin-right: 24px;
}
.about-img-right{
  float: right;
  width: 316px;
  height: auto;
  margin-left: 24px;
}
.about-whiteFrame{
  padding: 8px;
  background-color: #fff;
  border-radius: 100%;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
}
.about-whiteFrame img{
  width: 100%;
  height: auto;
  border-radius: 100%;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
}
.about-text-frame{
  background-color: #fffbe6;
  padding: 20px 12px;
  display: box;
  display: -webkit-box;　/* Safari,Google Chrome用 */
  display: -moz-box;　/* Firefox用 */
  display: -ms-flexbox;
  display: -webkit-flex;
  display:flex;
    -webkit-box-pack: center;/*--- Androidブラウザ用 ---*/
    -ms-flex-pack: center;/*--- IE10 ---*/
    -webkit-justify-content: center;
  box-pack: center;
		-webkit-box-pack: center;
		-moz-box-pack: center;
}
.about-text-frame img{
}
.about-text-frame h3{
  font-size: 2.7em;
  padding: 0 8px;
}
.about-textMargin-1{
  padding-top: 50px;
}
.about-textMargin-2{
  padding-top: 8px;
}
.about-textMargin-3{
  padding-top: 68px;
}
.about-textMargin-4{
  padding-top: 56px;
}
.about-text-right p, .about-text-left p{
  letter-spacing: 0.03em;
  line-height: 30px;
  margin: 0 auto;
  font-size: 10.5pt;
  font-weight: 500;
  text-align: left;
}
.about-column-3rd{
  margin-bottom: 20px;
}
.about-column-4th{
  margin-top: auto;
  margin-bottom: 100px;
}
/* クラス紹介
    ======================================================================== */
.class-img-2column:after{
  content: "";
  display: block;
  clear: both;
}
.class-img-2column{
  margin: 40px auto 15px auto;
  width: 848px;
}
.class-img-1, .class-img-3{
  float: left;
  max-width: 404px;
  width: 388px;
  height: auto;
  padding: 8px;
  background-color: #ffffff;
}
.class-img-1 img, .class-img-3 img, .class-img-2 img, .class-img-4 img{
  width: 100%;
  height: auto;
}
.class-img-2, .class-img-4{
  float: right;
  max-width: 404px;
  width: 388px;
  height: auto;
  padding: 8px;
  background-color: #ffffff;
}

/* class-movie */
.class-movie:not(:target){
  display: none\9;
}
@media all and (-ms-high-contrast: none) {
  .class-movie:not(:target){
    display: inherit;/* IE10以上 */
    }
}
.class-movie{
  display: block;
  margin: 0 auto;
  max-width: 530px;
  margin-top: 30px;
  width: 86%;
}

/* schedule-img */
.schedule-img-2column:after{
  content: "";
  display: block;
  clear: both;
}
.schedule-img-2column{
  width: 690px;
  margin: 40px auto 35px auto;
}
.schedule-whiteFrame{
  padding: 8px;
  background-color: #fff;
}
.schedule-whiteFrame img{
  width: 100%;
  height: auto;
}
.schedule-img-left{
  float: left;
  max-width: 400px;
  width: 384px;
  height: auto;
}
.schedule-img-right{
  float: right;
  max-width: 250px;
  width: 246px;
  height: auto;
}
.schedule-caption p{
  letter-spacing: 0.03em;
  font-size: 12px;
  padding-left: 8px;
  line-height: 25px;
}
/* お問い合わせ
   ========================================================================== */
.contact-img-title p{
  margin-top: 42px;
  margin-bottom: 13px;
  font-size: 14px;
  font-weight: 800;
  text-align: center;
}
.contact-img-title br{
  display: none;
}
.contact-img-3column{
  display: table;
  border-collapse: separate;
  border-spacing: 20px 0;
  width: 980px;
  height: 300px;
  margin: 0 auto 35px auto;
}
.contact-img-3column li{
  display: table-cell;
  vertical-align: middle;
  text-align: left;
}
.contact-img-1, .contact-img-2, .contact-img-3{
  border: 8px solid #fff;
  max-width: 284px;
}
.contact-img-1 img, .contact-img-2 img, .contact-img-3 img{
  max-height: 284px;
}
.contact-caption{
  letter-spacing: 0.03em;
  font-size: 12px;
  padding-left: 8px;
  line-height: 25px;
}

/* お問い合わせ */
.contact-form{
}
.contact-form dl{
  overflow : hidden;
}
.contact-form dl dt{
  font-size: 16px;
  font-weight: 500;
  clear : both;
	padding : 27px 0 2px;
}
.contact-form dl dd{
  width : 100%;
  float : left;
}
.contact-form dl dd ul{
  display: -webkit-box;
}
.contact-form dl dd ul li {
  margin-right: 16px;
  font-size: 12px;
}
.contact-form dl dd ul li.inquiry{
  margin-right: 24px;
}
.contact-form dl dd ul li label{
  display: inline-flex;
}

.contact-form dl dt:first-child,
.contact-form dl dt:first-child+dd{
  border : none;
  background : none;
}
.contact-form dl dt span,
.contact-form dl dd span{
  font-size : 12px;
  margin-left: 10px;
}
.contact-form dd div{ /* 入力エラーメッセージがJavaScriptによって出現 */
  color : #ff0000;
}
.contact-form input{
  height : 1.6em;
  border : 2px solid #E2D5CD;
  border-radius : 2px;
}
.contact-form input:focus,
.contact-form textarea:focus{
  box-shadow : 0px 0px 5px #55ccff;
  border : 1px solid #55ccff;
  background : #ffffff;
}
.contact-form input#name_1,
.contact-form input#name_2{
  width : 90px;
}
.contact-form input#read_1,
.contact-form input#read_2{
  width : 90px;
}
.contact-form input#mail_address,
.contact-form input#mail_address_confirm,
.contact-form input#phone{
  width : 445px;
}
.contact-form ul li{
  list-style-type : none;
  margin-bottom : 0.5em;
}
.contact-form ul li label:hover{
  cursor : pointer;
}
.contact-form ul li input{
  height : auto;
  margin-right : 0.5em;
}
.contact-form textarea#mail_contents{
  width : 418px;
  height : 200px;
  resize : vertical;
  border : 2px solid #E2D5CD;
  border-radius : 2px;
}
.contact-form input#mail_submit_button{
  font-size: 18px;
  font-weight : bold;
  font-family: 'Noto Sans Japanese','Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif;
  float: inherit;
  margin-top: 20px;
  height : auto;
  padding : 8px 80px;
  vertical-align : middle;
  color : #fff;
  background : #ffb243;
  border : none;
  border-radius : 10px;
}
.contact-form dl dd.submit{
  float: none;
  text-align: center;
}
.contact-form input#mail_submit_button:hover{
  cursor : pointer;
  color : #fff;
  background : #ffc674;
}

/* --JavaScript------------------------------------------- */




/* --responsive------------------------------------------- */

/* 640pixel start */
@media screen and (max-width : 640px){

.mail-attention br{
  display: none;
}
.contact-form input#mail_submit_button{
  padding: 8px 60px;
}
.contact-form{
  width : 95%;
}
.contact-form dl{
  width : auto;
  padding : 2.5% 2.5%;
}
.contact-form dl dt{
  width : auto;
  float : none;
  text-align : left;
	padding : 10px 0 5px;
	font-weight : bold;
}
.contact-form dl dd{
  width : auto;
  float : none;
  border-top : none;
	padding : 0px 0 10px 0px;
	background : none;
}
.contact-form dl dt span{
  font-weight : normal;
}
.contact-form dl dd ul{
  display: block;
}
.contact-form dl dd ul li{
  padding-top: 4px;
}

.contact-form input#name_1,
.contact-form input#name_2,
.contact-form input#read_1,
.contact-form input#read_2,
.contact-form input#mail_address,
.contact-form input#mail_address_confirm,
.contact-form input#phone,
.contact-form textarea#mail_contents{
  max-width : 96%;
}


}
/* 640pixel end */


/* お問い合わせ送信完了
   ========================================================================== */
.thanks h3{
  text-align: center;
  font-size: 28px;
}
.thanks p{
  margin-top: 40px;
  margin-bottom: 30px;
  text-align: center;
  font-size: 18px;
}
.thanks-attention{
  margin: 0 auto;
  max-width: 420px;
  padding: 26px 40px;
  background-color: #fffbe6;
}
.thanks-attention p{
  text-align: left;
  font-size: 13px;
  font-weight: 600;
  padding: 0;
}
.thnaks-backtotop{
  position: relative;
  max-width: 232px;
  height: 43px;
  margin: 40px auto 70px;
  background: #3dc9e2;
  border: none;
  border-radius: 10px;
}
.thnaks-backtotop a{
  position:absolute;
  font-size: 18px;
  text-align: center;
  color: #fff;
  top:0;
  left:0;
  width:100%;
  height:100%;
  text-decoration: none;
  line-height: 42px;
}
.thnaks-backtotop:hover{
  cursor : pointer;
  color : #fff;
  background : #80e2f4;
}
/* g-map
   ========================================================================== */
.mapIE9-img{
 display: none;
}
.mapIE9-img:not(:target) {
  display: inherit\9;/* IE9,10 */
  width: 100%\9;/* IE9,10 */
}
.g-map{
  display: none\9;/* IE9,10 */
}
@media all and (-ms-high-contrast: none) {
  .mapIE9-img:not(:target) {
    display: none;/* IE10以上 */
  }
  .g-map{
    display: inherit;/* IE10以上 */
  }
}
.g-map{
  position: relative;
  height: 272px;
  overflow: hidden;
}
.g-map iframe{
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
.g-map-access{
  text-align: center;
  margin-bottom: 40px;
}
.access-mapIE9-img{
  display: none;
}
.access-mapIE9-img:not(:target){
  display: inherit\9;/* IE9,10 */
  max-width: 1000px\9;/* IE9,10 */
  max-height: 600px\9;/* IE9,10 */
  margin: 0 auto 40px;\9;/* IE9,10 */
}
.g-map-access{
  display: none\9;/* IE9,10 */
}
@media all and (-ms-high-contrast: none) {
  .access-mapIE9-img:not(:target){
    display: none;/* IE10以上 */
  }
  .g-map-access{
    display: inherit;/* IE10以上 */
  }
}
/* footer
   ========================================================================== */
.footerJump img{
  display: none;
}
footer{
  margin-top:20px;
  width:100%;
  height: 20px;
  background: url(../img/flag.png) repeat-x;
  text-align:center;
}
.footer-wrap{
  width:1000px;
  margin:20px auto;
}
.footer-copyright p{
  margin-top:15px;
  font-size:9px;
  border-bottom: dotted 2px #47352A;
  padding-bottom:12px;
}
.footer-copyright2{
  margin-top:15px;
  display: table;
  width:100%;
}
.footer-copyright2-img{
  display: table-cell;
  vertical-align: middle;
  width:132px;
  text-align:center;
}
.footer-copyright2-text{
  display: table-cell;
  vertical-align: middle;
  width:868px;
  text-align:left;
}
.footer-copyright2-text p{
  font-size:9px;
}
.footer-logo-sp{
  display: none;
}
/* バッジ */
.badge-jump{
  display: inherit;
}
.badge-IE9{
  display: none;
}
.badge-IE9 img{
  display: none;
}
.badge-jump:not(:target){
  display: none\9;
}
.badge-IE9:not(:target){
  display: inherit\9;
}
.badge-IE9 img:not(:target){
  position: fixed\9;
  bottom: 40px\9;
  display: inherit\9;
  opacity: 0.6\9;
}
@media all and (-ms-high-contrast: none) {
  .badge-IE9:not(:target) {
    display: none;/* IE10以上 */
  }
  .badge-IE9 img:not(:target) {
    display: none;/* IE10以上 */
  }
}
.badge,
.badge span {
	transition: all .4s;
	box-sizing: border-box;
}
.badge {
  position: fixed;
	bottom: 130px;
  right: 130px;
  z-index: 100;
}
.badge span {
	position: absolute;
	left: 0;
	width: 80px;
	height: 80px;
	background-color: rgba(119, 104, 94, 0.6);
	border-radius: 50%;
}
.arrow{
  position: fixed;
  bottom: 82px;
  right: 138px;
  color: #000;
  vertical-align: middle;
  text-decoration: none;
  font-size: 15px;
  z-index: 100;
}
.arrow::before,
.arrow::after{
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
}
.kunoji::before{
left: 30px;
width: 30px;
height: 30px;
border-top: 6px solid rgba(80, 70, 63, 0.6);
border-right: 6px solid rgba(80, 70, 63, 0.6);
-webkit-transform: rotate(45deg);
transform: rotate(-45deg);
}
/* #############################################################################
ブラウザ999px以下
################################################################################ */
@media screen and (max-width: 999px){
  header{
    width:100%;
  }
.photo-text-1{
  font-size: 50px;
}
/* logo */
.header-logo{
  width:25%;
}
/* menu */
.header-menu{
  width:70%;
}
.header-menu a{
  width:86px;
}
.header-menu ul li{
  font-size: 1.2em;
}
.footer-wrap{
  width:100%;
  margin:20px auto;
}
}
/* #############################################################################
ブラウザ767px以下
################################################################################ */
@media screen and (max-width: 767px){


.badge, .arrow, .badge-IE9{
  display: none;
}
.footerJump{
  position: relative;
  background-color: #cbbfb7;
  padding: 16px;
  margin-top: 40px;
  text-align: center;
}
.footerJump a{
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
.footerArrow{
  display: inline-block;
  vertical-align: middle;
  text-decoration: none;
  font-size: 15px;
}
.footerJump img{
  display: inherit;
  width: 60px;
  margin:0 auto;
}


/* ヘッダー
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/

header{
  display: table;
  width:100%;
  background-color: #ffffff;
  position: fixed;
  z-index: 999;
  top:0;
  left:0;
  height:57px;
}
.overlay{
  display: none;
  width: 100%;
  height:120%;
  text-align: center;
  position: fixed;
  top: 0;
  left:0;
  z-index: 9;
  background:#000;
  filter:alpha(opacity=85);
  -moz-opacity: 0.85;
  opacity: 0.85;
}
.head-h1{
  display: none;
}
.head-h1sp{
  display: inherit;
  max-width: 100%;
  height: 24px;
  text-align: center;;
}
.head-h1sp h1{
  margin-top: 18px;
  line-height: 1.2em;
  color: #7d6557;
  font-size: 10px;
  font-weight: 400;
}
.header-menu{
  display: none;
}
.header-wrap{
  padding:0;
}
.header-logo{
  display: table-cell;
  width:70%;
  height:100%;
  vertical-align: middle;
}
.header-logo img{
  position:relative;
  top:8px;
  left:10px;
  height:60%;
  width:auto;
}
.menubtn-off, .global-nav{
  display:block;
}
/* メニューボタン close */
.menubtn-off{
  display: table-cell;
  width:30%;
  height:100%;
  vertical-align: middle;
  text-align: right;
}
.header-sp-menu{
  margin-left:auto;
  position:relative;
  top:7px;
  right:6px;
  background:url("../img/header_menu.png") no-repeat 50% 50%;
  background-size:42px 42px;
  width:43px;
  height:43px;
  border:1px solid #d5ccc5;
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.header-sp-menu.menu-on{
  background:url("../img/header_menu_close.png") no-repeat 50% 50%;
  background-size:42px 42px;
}

/* メニューボタン open */
.photo{
  position: relative;
}
.global-nav{
  display: none;
  position: absolute; z-index: 20;
  text-align: center;
  width: 100%;
  box-sizing: border-box;
  background-color: #aa8f7e;
  border-radius: 0 0 40px 40px;
  margin-top:12px;
}
.global-nav ul li a {
  display: block;
  font-size: 18px;
  font-weight: 400;
  line-height: 2.6em;
  color: #f5f0ea;
}
.global-nav ul li a:hover{
  text-decoration: none;
}
.global-nav ul li {
  border-bottom: 1px solid #d1bcaf;
}
.global-nav ul li:last-child{
  border-bottom: none;
}

/* コンテンツ
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
.contentsTop{
  margin-bottom: 18px;
}
.photo, .about{
  margin-bottom:30px;
  text-align: center;
}
.photo-img{
  height:300px;
}
.photo-text-1{
  font-size:22px;
  top:160px;
  padding-bottom:4px;
  letter-spacing: -0.01em;
  border-bottom: 1px solid #fff;
}
.photo-text-2{
  font-size:11px;
  top:160px;
}
.photo-button{
  top:184px;
}
.photo-button img, .feature-img-end, .access-img-end{
  max-width: 60%;
  width: 250px;
  margin-bottom: 0;
}
.contents {
    margin-top: 26px;
}
.contents h3{
  margin: 28px 0 5px 0;
  font-family: "Noto sans japanese",sans-serif;
  font-size: 28px;
  font-weight: 600;
  text-align: center;
  max-width: none;
}
.contents h3 br{
  display: inline;
}
.contents p{
  width: 85%;
}
.contents-end-about, .contents-end-feature{
  letter-spacing: normal;
  margin: 0 auto 10px auto;
  max-width: 100%;
  padding: 20px;
  background-color: #fffbe6;
}
.contents-end-about p{
  line-height: 1.5em;
  font-size: 20px;
  padding: 0 20px;
}
.about-img-1{
  max-width: 57%;
}
.about-img-2{
  max-width: 75%;
}
.feature-titleImg{
  max-width: 65%;
}
.feature-2column-A:after, .feature-2column-B:after, .class-img-2column:after{
  content: "";
  display: block;
  clear: both;
}
.feature-2column-A{
  margin: 0;
  text-align: -webkit-center;
}
.feature-2column-B{
  margin: 0;
  padding-right: 0;
  text-align: -webkit-center;
}
.classroom h3{
  letter-spacing: 0.06em;
  font-size: 20px;
  font-weight: 900;
  font-style: italic;
  text-align: center;
}
.class-img-2column{
  margin: 0;
  text-align: -webkit-center;
  width: inherit;
}
.feature-1, .feature-2, .feature-3, .feature-4, .class-img-1, .class-img-2, .class-img-3, .class-img-4{
  float: none;
  height: auto;
  margin: 20px 0;
}
.feature-1{
  margin: 35px 0 50px 0;
}
.feature-2, .feature-3, .feature-4{
  margin: 50px auto;
}
.feature-3{
  width: inherit;
}
.feature-4{
  margin: 50px auto 24px auto;
}
.class-img-1, .class-img-2, .class-img-3, .class-img-4{
  max-width: 80%;
}
.feature-whiteFrame{
  margin-bottom: 10px;
}
.feature-img{
  height: auto;
  border-radius: 100%;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
}
.fukidashi{
  max-width: 90%;
  margin-bottom: 6px;
}
.fukidashi img{
  max-width: 90%;
}
.feature-text p{
  line-height: 1.5em;
  font-size: 16px;
  font-weight: 600;
  text-align: center;
}
.brBlock{
  width: 60%;
}
.brBlock p br{
  display: none;
}
.contents-end-feature p{
  padding: 0 20px;
  line-height: 1.5em;
}
.access br{
  display: inherit;
}
.access-img{
  max-width: 60%;
}
.access-address{
  width: auto;
}
.access-postCode, .access-residence, .access-train{
  font-weight: 500;
  font-size: 15px;
  line-height: 1.6em;
}
.access-postCode{
  margin: 15px auto 0 auto;
  float: inherit;
}
.access-residence{
  float: inherit;
}
.access-residence, .access-train{
  margin: 0 auto 18px auto;
}
.access-train{
  width: 80%;
}
.access-tel{
  margin: 20px auto 30px auto;
  width: 190px;
  vertical-align: middle;
}
.access-tel-1{
  font-size: 14px;
  font-weight: 500;
}
.access-tel-2{
  letter-spacing: 0.1em;
  font-size: 18px;
  font-weight: 500;
}


/* はじめに
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
.aboutTop-img h2{
  font-size: 2.8em;
  line-height: 1em;
}
.about-mt{
  margin-top: 34px;
  max-width: 100%;
  text-align: center;
}
.about-mt img{
  width: 80%;
}
.about-2column{
  width: 100%;
  margin: 40px auto;
}
.about-img-left{
  float: none;
  width: 70%;
  margin-right: inherit;
  margin: 0 auto;
}
.about-img-right{
  float: none;
  width: 70%;
  margin-left: inherit;
  margin: 0 auto;
}
.about-text-frame{
  padding: 20px 10px;
}
.about-text-frame h3{
  font-size: 1.7em;
  padding: 0 4px;
  letter-spacing: -0.02em;
}
.about-textMargin-1, .about-textMargin-2, .about-textMargin-3, .about-textMargin-4{
  padding-top: 14px;
}
.about-text-right p, .about-text-left p{
  width: 90%;
}
.about-column-3rd{
  margin-bottom: 40px;
}
.about-column-4th{
  margin-top: auto;
  margin-bottom: 60px;
}

/* クラス紹介
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
.contents-end-class br{
  display: none;
}


/* 講師紹介
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
.teacher-img{
  width: 60%;
  margin: 34px auto 20px;
}
.contents-end-teacher p{
  max-width: 90%;
  margin: 0 auto;
}
.contents-end-teacher br{
  display: none;
}
.teacher-name{
  width: 90%;
}


/* スケジュール
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
.contents-end{
  padding: 16px 0;
  margin: 20px auto 10px;
}
.contents-end dl{
  max-width: 90%;
  margin: 0 auto;
}
.contents-end-center{
  max-width: 100%;
  margin: 10px auto 40px;
}
.schedule-img-2column{
  margin: 0;
  text-align: -webkit-center;
  width: inherit;
}
.schedule-img-left, .schedule-img-right{
  max-width: 80%;
  float: none;
  height: auto;
  margin: 20px 0;
}
footer{
  margin-top: 0;
}
.footer-wrap{
  margin: 20px auto 0 auto;
}
.footer-logo-menu{
  display: none;
}
.footer-logo-sp{
  display: inherit;
}
.footer-logo-sp img{
  margin: 40px auto 5px auto;
  max-width: 76%;
}
.footer-copyright p{
  margin: 0;
  padding-bottom: 40px;
}
.footer-copyright2{
  padding: 20px 0;
  margin: 0 auto;
  width: 85%;
}
.footer-copyright2-img{
  padding-right: 10px;
}


/* お問い合わせ
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
.contents-end-contact{
  margin: 30px auto;
}
.contact-img-title{
  width: 100%;
}
.contact-img-title br{
  display: inherit;
}
.contact-img-title p{
  width: 90%;
  margin: 20px auto 10px;
}
.contact-img-3column{
  display: initial;
  max-width: 100%;
}
.contact-img-3column img{
  max-width: 100%;
}
.contact-img-3column li{
  display: block;
  text-align: center;
}
.contact-img-1, .contact-img-2, .contact-img-3{
  margin: 0 auto;
  width: 80%;
}
.contact-caption{
  padding-left: inherit;
  margin-bottom: 16px;
}

/*  送信完了  */
.thanks {
    margin-top: 46px;
}
.thanks p{
  text-align: left;
  margin-top: 30px;
  margin-bottom: 20px;
  font-size: 16px;
}
.thanks br{
  display: none;
}
.thanks-attention{
  max-width: 100%;
  padding: 20px 10px;
}


/* アクセス
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
.accessPage{
  width: 100%;
  margin-top: 28px;
}
.accessPage h3{
  line-height: 1.2em;
  margin: 0 auto 20px;
}
.accessPage dt{
  width: 70%;
}
.accessPage dd{
  max-width: 70%;
  margin: 0 auto 10px;
}
.accessPage span{
  display: none;
}
.accessPage br{
  display: inherit;
}
.g-map-access iframe{
  width: 100%;
  height: 340px;
}

}
