/* --------------------------------
インストラクター紹介欄追加
-----------------------------------*/
#instructor{
    margin-top: 3rem;
    width: 100%;
    background-color: #FDE18E;
    padding: 2rem 0 3rem 0;
    box-sizing: border-box;
}

#instructor .inst_wrapper{
    display: flex;   
}
#instructor .inst_wrapper .inst_txt h2{
    font-family: YuMincho, /* Mac用 */
    'Yu Mincho', /* Windows用 */
    serif;
}
#instructor .inst_wrapper .inst_txt p{
    line-height: 1.6em;
}

@media print, screen and (min-width: 1025px){
    #instructor{
        background-image: url(/img/img_instructor_2.png);
        background-position: 100% 85%;
        background-repeat: no-repeat;
        background-size: 20%;
    }
    #instructor .inst_wrapper{
        justify-content: space-between;
        margin: 0 auto;
        max-width: 1100px;
        padding-top: 3rem;
    }
    #instructor .inst_wrapper .inst_img img{
        width:295px;
    }
    #instructor .inst_wrapper .inst_txt{
        width:calc( 100% - 335px);
    }
    #instructor .inst_wrapper .inst_txt h2{
        font-size: 2.4rem;
        padding-bottom: 0.5rem;
    }
    #instructor .inst_wrapper .inst_txt h3{
        font-size: 1.4rem;
        padding-bottom: 2rem;
        border-bottom: 1px solid #598E35;
        color: #598E35;
        font-weight: bold;
        margin-bottom: 2rem;
    }
    .access{
        margin-top: 0 !important;
    }

}

@media print, screen and (max-width: 1024px){
    #instructor{
        background-image: url(/img/img_instructor_2.png);
        background-position: bottom center;
        background-repeat: no-repeat;
        background-size: 60%;
        padding-bottom: 10rem;
    }
    #instructor .inst_wrapper{
        display: flex; 
        flex-direction: column !important;
        justify-content: center;  
    }
    #instructor .inst_wrapper .inst_img{
        width:80%;
        max-width: 295px;
        margin: 1rem auto;
       
    }
    #instructor .inst_wrapper .inst_txt{
        width:90%;
        margin: 0 auto;
    }
    #instructor .inst_wrapper .inst_txt h2{
        font-size: 2rem;
        text-align: center;
        padding: 2rem 0 0.5rem 0;
    }
    #instructor .inst_wrapper .inst_txt h3{
        font-size: 1.4rem;
        text-align: center;
        padding: 0 0 2rem 0;
        font-weight: bold;
        border-bottom: 1px solid #598E35;
        color: #598E35;
        margin-bottom: 2rem;
    }

}

/* --------------------------------
ナビゲーション追加
-----------------------------------*/
@media only screen and (min-width:1025px) {
  .hamburger{
    display: none;
  }
  .globalMenuSp ul{
    position: absolute;
    top: 3rem;
    right: 1rem;
    display: flex;
    flex-wrap: wrap;
  }
  .globalMenuSp ul li{
    padding: 0 1rem;
    text-align: center;
    border-right: 1px solid #ccc;
  }
  .globalMenuSp ul li a{
    text-decoration: none;
    font-weight: bold;
    color: #555;
  }
  .globalMenuSp ul li a:hover{
    color: #598E35;
  }

  .logo_fv{
    width: 38.09% !important;
  }
}



/*　ハンバーガーボタン　*/
@media only screen and (max-width:1024px) {
.hamburger {
    display : block;
    position: fixed;
    z-index : 3;
    right : 13px;
    top   : 12px;
    width : 42px;
    height: 42px;
    cursor: pointer;
    text-align: center;
  }
  .hamburger span {
    display : block;
    position: absolute;
    width   : 30px;
    height  : 2px ;
    left    : 6px;
    background : #555;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition   : 0.3s ease-in-out;
    transition        : 0.3s ease-in-out;
  }
  .hamburger span:nth-child(1) {
    top: 10px;
  }
  .hamburger span:nth-child(2) {
    top: 20px;
  }
  .hamburger span:nth-child(3) {
    top: 30px;
  }
  
  /* ナビ開いてる時のボタン */
  .hamburger.active {
    -webkit-transition: all 0.3s ease-in-out;
    -o-transition     : all 0.3s ease-in-out;
    transition        : all 0.3s ease-in-out;
    -webkit-transition-delay: 0.6s;
    -o-transition-delay     : 0.6s;
    transition-delay        : 0.6s;
    -webkit-transform: rotate(45deg);
    -ms-transform    : rotate(45deg);
    -o-transform     : rotate(45deg);
    transform        : rotate(45deg);
  }
  .hamburger.active span:nth-child(2){
    width: 0px;
  }
  .hamburger.active span:nth-child(1),
  .hamburger.active span:nth-child(3){
    -webkit-transition-delay: 0.3s;
    -o-transition-delay: 0.3s;
    transition-delay: 0.3s;
  }
  .hamburger.active span:nth-child(1){
    -webkit-transform: translateY(4px);
    -ms-transform    : translateY(4px);
    -o-transform     : translateY(4px);
    transform        : translateY(4px);
  }
  
  .hamburger.active span:nth-child(3){
    -webkit-transform: translateY(-16px) rotate(90deg);
    -ms-transform: translateY(-16px) rotate(90deg);
    -o-transform : translateY(-16px) rotate(90deg);
    transform    : translateY(-16px) rotate(90deg);
  }
  
  
  nav.globalMenuSp {
    position: fixed;
    z-index : 2;
    top  : 0;
    left : 0;
    color: #000;
    background: #fff;
    text-align: center;
    transform: translateX(100%);
    transition: all .9s;
    width: 100%;
  }
  
  nav.globalMenuSp ul {
    background: #598E35;
    margin: 0 auto;
    padding: 0;
    width: 100%;
  }
  
  nav.globalMenuSp ul li {
    list-style-type: none;
    padding: 0;
    width: 100%;
    border-bottom: 1px solid #fff;
  }
  nav.globalMenuSp ul li:last-child {
    padding-bottom: 0;
    border-bottom: none;
  }
  nav.globalMenuSp ul li:hover{
    background :#699E46;
  }
  
  nav.globalMenuSp ul li a {
    display: block;
    color: #ccc;
    font-weight: bold;
    padding: 1em 0;
    text-decoration :none;
  }
  
  /* このクラスを、jQueryで付与・削除する */
  nav.globalMenuSp.active {
    transform: translateX(0%);
  }
}


/* --------------------------------
flex
-----------------------------------*/
.flexbox{
  display: flex;
  margin: 1rem auto;
  align-items: center;
}

.m3rem{
  margin: 3rem auto;
}
p.nml{
  padding: 1rem;
  line-height: 1.6em;
}

@media only screen and (min-width:1025px) {
  .flexbox{
    max-width: 1200px;
  }
  .flexbox.column3{
    justify-content: space-between;
  }
  .flexbox.column3 > .item{
    width: 32%;
  }
  .flexbox.column3 > .item p{
    padding: 1rem;
  }
  .flexbox.column2b{
    justify-content: space-between;
  }
  .flexbox.column2b > .item:first-child{
    width: 32%;
  }
  .flexbox.column2b > .item:last-child{
    width: 60%;
  }
}

@media only screen and (max-width:1024px) {
  .flexbox{
    width: 100%;
  }
  .flexbox.column3{
    flex-direction: column;
  }
  .flexbox.column3 > .item{
    width: 100%;
  }
  .flexbox.column3 > .item p{
    padding: 1rem;
  }
  .flexbox.column2b{
    flex-direction: column;
  }
  .flexbox.column2b > .item:first-child{
    width: 90%;
    margin: 0 auto;
  }
  .flexbox.column2b > .item:last-child{
    width: 90%;
    margin: 0 auto;
  }
}

/* --------------------------------
施設紹介・アクセス
-----------------------------------*/
.inner h1{
    background-color: #227338;
    width: 100%;
    display: block;
    text-align: center;
    padding: 2rem 0;
    font-size: 20px;
    font-weight: bold;
    letter-spacing: 0.1em;
    margin-top: 1rem;
    color: #fff;
}
.inner h1 span{
    font-size: 14px;
    letter-spacing: 1em;
    display: block;
    color: #E5FF99;
    margin-top: 0.5rem;
}
iframe.gmap{
  margin-bottom: 2rem;
}
dl.access{
  margin-top: 2rem;
}
dl.access{
  width: 90%;
  margin: 0.5rem auto;
  display: flex;
  box-sizing: border-box;
}
dl.access dt{
  background-color: #A7B24D;
  color: #fff;
  text-align: center;
  font-weight: bold;
  width: 30%;
  box-sizing: border-box;
  padding: 1rem 1rem;
  display: flex;
  align-items: center;
}
dl.access dd{
  box-sizing: border-box;
  padding: 1rem 2rem;
  background-color: #fff;
  border: 1px solid #A7B24D;
  width: calc(100% - 30%);
  line-height: 1.6em;
  display: flex;
  align-items: center;
}
dl.access dd .tel{
  font-size:20px;
  color: #598E35;
  font-weight: bold;
}


/* --------------------------------
レッスン
-----------------------------------*/
h3.price{
  color: #598E35;
  font-size: 24px;
  font-weight: bold;
  letter-spacing: 0.1em;
  border-bottom: 1px solid #A7B24D;
  padding-bottom: 0.5rem;
}
h3.price:before{
  content: "●";
  color: #A7B24D;
}
h3.price span{
  font-size: 16px;
  color: #666;
}
p.nml.w50{
  width: 50%;
}
dl.price{
  width: 50%;
  margin: 1rem auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
dl.price dt{
  text-align: right;
  color: #598E35;
  font-weight: bold;
  padding: 1rem 0;
  font-size: 20px;
  width: 40%;
  line-height: 1.6em;
}
dl.price dd{
  width: 60%;
  text-align: left;
  color: #666;
  font-weight: bold;
  padding: 1rem 0 1rem 2rem;
  font-size: 24px;
  line-height: 1.6em;
}
dl.price dt span,
dl.price dd span{
  font-size: 16px;
}

strong.campaign_before{ font-size: 80%; text-decoration: line-through;}
strong.campaign_after{ color: #ff0000;}

@media only screen and (max-width:1024px) {
  dl.price{
    width: 90%;
  }
  h3.price span{
    display: block;
    font-size: 14px;
    letter-spacing: 0;
    padding: 0.5rem 1rem;
    line-height: 1.6em;
  }
  dl.price dt{ text-align: left; font-size: 16px; width: 50%;}
  dl.price dd{ text-align: left; font-size: 20px; padding: 1rem 0 1rem 1rem; width: 50%;}
}

/* --------------------------------
インストラクター
-----------------------------------*/
.profile h3{
  color: #666;
  font-size: 26px;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.6em;
}
.profile h3 span{
  display: block;
  font-size: 16px;
}

/* --------------------------------
お知らせ
-----------------------------------*/
.wapper.information{
  width: 90%;
  margin:1rem auto;
}
.wapper.information h2{
  font-size: 2rem;
  color: #65a948;
  margin: 2rem auto;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid;
}

.wapper.information dl{
  display: flex;
  box-sizing: border-box;
  align-items: center;
}
.wapper.information dl dt{
  background-color:#65a948;
  border-radius: 20px;
  padding: 0.5rem 1rem;
  font-size: 1rem;
  text-align: center;
  color: #fff;
  box-sizing: border-box;
}
.wapper.information dl dd{
  box-sizing: border-box;
  padding: 0.5rem 1rem;
}
.wapper.information dl dd p{
  line-height: 1.4em;
}
.wapper.information dl dd a{ text-decoration: none;}
.wapper.information dl dd span{
  color: #65a948;
  font-weight: bold;
  display: block;
  margin-bottom: 0.5rem;
}

@media only screen and (min-width:1024px) {
  .wapper.information{
    width: 80%;
    max-width: 1200px !important;
  }
  .wapper.information dl{
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .wapper.information dl dt{
    width: 12em;
  }
  .wapper.information dl dd{
    width: calc( 100% - 12em);
  }
}
@media only screen and (max-width:1024px) {
  .wapper.information dl{
    flex-direction: column;
    margin-bottom: 1rem;
  }
  .wapper.information dl dt{ width: 100%;}
  .wapper.information dl dd span{ 
    margin: 0.5rem 0;
    display: block;
  }
}