@charset "UTF-8";
/* Infomation 
---------------------------------------------------------------------
File Name :  parts.css
Create date :  2015/09/2
---------------------------------------------------------------------
*/
/* ----------------------------------------------
 レスポンシブ用レイアウト
---------------------------------------------- */
.col {
  box-sizing: border-box;
  float: left;
  display: inline-block;
  position: relative;
}
.col > a {
  display: block;
  position: relative;
}

.col1 > .col {
  width: 100%;
}

.col2 > .col {
  width: 50%;
}

.col3 > .col {
  width: 33.33333%;
}

.col4 > .col {
  width: 25%;
}

.col5 > .col {
  width: 20%;
}

.col7 > .col {
  padding: 0;
  width: 14.28%;
}

@media screen and (max-width: 1000px) {
  .col1_tb > .col {
    width: 100% !important;
  }

  .col2_tb > .col {
    width: 50% !important;
  }

  .col3_tb > .col {
    width: 33.33333% !important;
  }

  .col4_tb > .col {
    width: 25% !important;
  }

  .col5_tb > .col {
    width: 20% !important;
  }
}
@media screen and (max-width: 480px) {
  .col1_sp > .col {
    width: 100% !important;
  }

  .col2_sp > .col {
    width: 50% !important;
  }

  .col3_sp > .col {
    width: 33.33333% !important;
  }

  .col4_sp > .col {
    width: 25% !important;
  }

  .col5_sp > .col {
    width: 20% !important;
  }
}
/* 余白あり */
.col1.colPadding > .col {
  padding-bottom: 20px;
}

.col2.colPadding > .col:nth-child(even) {
  padding: 0 0 20px 10px;
}
.col2.colPadding > .col:nth-child(odd) {
  padding: 0 10px 20px 0;
}

.col3.colPadding > .col {
  padding: 0 5px 20px;
}
.col3.colPadding > .col:nth-child(3n+1) {
  padding: 0 10px 20px 0;
}
.col3.colPadding > .col:nth-child(3n+3) {
  padding: 0 0 20px 10px;
}

.col4.colPadding > .col:nth-child(4n+1) {
  padding: 0 10px 13px 0;
}
.col4.colPadding > .col:nth-child(4n+2) {
  padding: 0 7px 13px 3px;
}
.col4.colPadding > .col:nth-child(4n+3) {
  padding: 0 3px 13px 7px;
}
.col4.colPadding > .col:nth-child(4n+4) {
  padding: 0 0 13px 10px;
}

.col5.colPadding > .col:nth-child(5n+1) {
  padding: 0 10px 10px 0;
}
.col5.colPadding > .col:nth-child(5n+2) {
  padding: 0 7px 10px 3px;
}
.col5.colPadding > .col:nth-child(5n+3) {
  padding: 0 5px 10px 5px;
}
.col5.colPadding > .col:nth-child(5n+4) {
  padding: 0 3px 10px 7px;
}
.col5.colPadding > .col:nth-child(5n+5) {
  padding: 0 0 10px 10px;
}

.colPadding > .col:last-child {
  padding-bottom: 0 !important;
}

@media screen and (max-width: 1000px) {
  .col1_tb.colPadding > .col {
    padding: 0 0 10px !important;
  }

  .col2_tb.colPadding > .col:nth-child(even) {
    padding: 0 0 10px 5px;
  }
  .col2_tb.colPadding > .col:nth-child(odd) {
    padding: 0 5px 10px 0;
  }

  .col3_tb.colPadding > .col {
    padding: 0 5px 10px !important;
  }
  .col3_tb.colPadding > .col:nth-child(3n+1) {
    padding: 0 10px 10px 0;
  }
  .col3_tb.colPadding > .col:nth-child(3n+3) {
    padding: 0 0 10px 10px;
  }

  .colPadding > .col:last-child {
    padding-bottom: 0 !important;
  }
}
@media screen and (max-width: 480px) {
  .col1_sp.colPadding > .col {
    padding: 0 0 10px !important;
  }

  .col2_sp.colPadding > .col:nth-child(even) {
    padding: 0 0 10px 2px;
  }
  .col2_sp.colPadding > .col:nth-child(odd) {
    padding: 0 2px 10px 0;
  }

  .col3_sp.colPadding > .col {
    padding: 0 5px 10px !important;
  }
  .col3_sp.colPadding > .col:nth-child(3n+1) {
    padding: 0 10px 10px 0;
  }
  .col3_sp.colPadding > .col:nth-child(3n+3) {
    padding: 0 0 10px 10px;
  }

  .colPadding > .col:last-child {
    padding-bottom: 0 !important;
  }
}
/* ----------------------------------------------
 メインイメージ
---------------------------------------------- */
.mainImage {
  background-position: center, center 10%;
  background-size: 4px, cover;
  width: 100%;
  height: 330px;
  text-align: center;
  display: table;
}
.mainImage .catch {
  display: table-cell;
  vertical-align: middle;
  color: #fff;
}
.mainImage .en {
  display: block;
  	/*font-family: 'Source Sans Pro', sans-serif;
    font-weight: 600;
    font-size: 46px;
    font-size: 4.6rem;*/
  font-family: 'Roboto', sans-serif;
  font-size: 43px;
  font-size: 4.3rem;
  letter-spacing: 3px;
}
.mainImage .jp {
  display: block;
  font-size: 16px;
  font-size: 1.6rem;
  margin-top: -12px;
  padding-top: 15px;
}

@media screen and (max-width: 1000px) {
  .mainImage {
    height: 250px;
  }
}
@media screen and (max-width: 640px) {
  .mainImage {
    height: 200px;
  }
}
@media screen and (max-width: 480px) {
  .mainImage {
    height: 180px;
  }
  .mainImage .en {
    font-size: 35px;
    font-size: 3.5rem;
    letter-spacing: 1px;
  }
}
/* ----------------------------------------------
 メインイメージ：初心者＆経験者ページ用
---------------------------------------------- */
#page_beginner .mainImage, #page_experienced .mainImage {
  height: 600px;
  background-position: center, center center;
}

@media screen and (max-width: 1000px) {
  #page_beginner .mainImage, #page_experienced .mainImage {
    height: 500px;
  }
}
@media screen and (max-width: 640px) {
  #page_beginner .mainImage, #page_experienced .mainImage {
    height: 300px;
  }
}
@media screen and (max-width: 480px) {
  #page_beginner .mainImage, #page_experienced .mainImage {
    height: 250px;
  }
}
/* ----------------------------------------------
 メインイメージ：イベントページ用
---------------------------------------------- */
.mainImageEvent {
  background-position: center center;
  background-size: cover;
  width: 100%;
  padding-top: 50%;
  /*height: 500px;*/
  position: relative;
  text-align: center;
}

@media screen and (max-width: 1000px) {
  .mainImageEvent {
    margin-bottom: 74px;
    padding-top: 50%;
  }

  #page_event .mainImageEvent {
    margin-top: 0;
  }
}
/* イベントページ用ナビゲーション */
#eventNavi {
  position: absolute;
  top: 10px;
  width: 100%;
  text-align: center;
}
#eventNavi li {
  display: inline-block;
  vertical-align: middle;
  width: 19%;
}
#eventNavi a {
  display: block;
  background-color: rgba(0, 0, 0, 0.3);
  color: #fff;
  border: solid 1px #fff;
  vertical-align: middle;
}
#eventNavi .jp, #eventNavi .en {
  display: block;
}
#eventNavi .jp {
  padding-top: 15px;
  /*letter-spacing: -1px;*/
  font-size: 13px;
}
#eventNavi .en {
  font-family: 'Tangerine', cursive;
  padding-bottom: 10px;
}
#eventNavi .btnTicket .jp {
  /*letter-spacing: -1px;*/
  font-size: 12px;
  margin-bottom: 2px;
}
#eventNavi .btn:hover {
  background-color: #000;
  text-decoration: none;
}
#eventNavi .btn:hover .jp {
  color: #f39a00;
}

@media screen and (max-width: 1000px) {
  #eventNavi {
    position: absolute;
    top: inherit;
    bottom: -74px;
    width: 100%;
    min-height: 74px;
    background: #000;
  }
  #eventNavi ul {
    font-size: 0;
  }
  #eventNavi li:nth-child(-n+3) {
    width: 33.3%;
  }
  #eventNavi li:nth-child(n+4) {
    width: 50%;
  }
  #eventNavi a {
    background: #636363;
    /* Old browsers */
    background: -moz-linear-gradient(top, #636363 0%, #686868 40%, #464646 100%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(top, #636363 0%, #686868 40%, #464646 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, #636363 0%, #686868 40%, #464646 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#636363', endColorstr='#464646',GradientType=0 );
    /* IE6-9 */
    border: solid 1px #434343;
    min-height: 35px !important;
  }
  #eventNavi .jp {
    padding-top: 8px;
    padding-bottom: 8px;
  }
  #eventNavi .en {
    display: none;
  }

  /*#eventNavi li {
  	float: left;
  }*/
}
/* ----------------------------------------------
 見出し
---------------------------------------------- */
/* ノーマル */
.heading {
  text-align: center;
  padding: 0 0 20px;
  position: relative;
  font-size: 28px;
  font-size: 2.8rem;
}
.heading .en {
  display: block;
  	/*font-family: 'Source Sans Pro', sans-serif;
    font-weight: 600;
    font-size: 46px;
    font-size: 4.6rem;*/
  font-family: 'Roboto', sans-serif;
  font-size: 43px;
  font-size: 4.3rem;
  /*letter-spacing: 4px;*/
  line-height: 1;
}
.heading .jp {
  display: block;
  font-size: 16px;
  font-size: 1.6rem;
  /*margin-top: -12px;*/
  padding: 5px 0 10px;
}

/* 背景がある見出し用：発表会＆料金ページ */
.heading02 {
  text-align: center;
  padding: 0 2% 20px;
  position: relative;
  color: #fff;
  background-color: rgba(0, 0, 0, 0.7);
  background-color: #353535;
  background-position: center center;
  background-size: cover;
}

/* 右ボタン */
.heading .linkBtn, .heading02 .linkBtn {
  position: absolute;
  right: 20px;
  font-size: 16px;
  font-size: 1.6rem;
  top: 50%;
  padding: 10px 20px;
}

.heading .linkBtn {
  margin-top: -35px;
}

.heading02 .linkBtn {
  margin-top: -25px;
}

.heading .linkBtn .fa, .heading02 .linkBtn .fa {
  font-size: 21px;
  font-size: 2.1rem;
}

.heading .linkBtn .fa-angle-right, .heading02 .linkBtn .fa-angle-right {
  margin-left: 20px;
}

/* ボーダー */
.borderLeft {
  border-left: solid 5px #f39a00;
  padding-left: 20px;
}

@media screen and (max-width: 480px) {
  /* 基本 */
  .heading {
    /*text-align: left;*/
    font-size: 20px;
    font-size: 2.0rem;
  }
  .heading .en {
    font-size: 30px;
    font-size: 3.0rem;
    letter-spacing: 2px;
  }
}
/* 発表会ページ */
.heading02 .en {
  display: block;
  font-family: 'Abril Fatface', cursive;
  font-size: 35px;
  font-size: 3.5rem;
  letter-spacing: 2px;
  line-height: 1;
  padding-top: 20px;
}
.heading02 .jp {
  display: block;
  font-size: 16px;
  font-size: 1.6rem;
  /*margin-top: -12px;*/
  padding-top: 5px;
  padding-bottom: 10px;
}
.heading02 .title {
  display: block;
  font-size: 23px;
  font-size: 2.3rem;
  line-height: 1;
  padding-top: 30px;
}
.heading02 .text {
  display: block;
  padding-top: 20px;
  padding-bottom: 10px;
}

@media screen and (max-width: 1000px) {
  .heading02 .en {
    font-size: 25px;
    font-size: 2.5rem;
  }
  .heading02 .jp {
    font-size: 14px;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 480px) {
  /*  .heading02 .en {
    font-size: 20px;
    font-size: 2.0rem;
    letter-spacing: 0;
  }
  .heading02 .jp {
    font-size: 14px;
    font-size: 1.4rem;
  }*/
}
/* 料金ページ */
@media screen and (max-width: 1000px) {
  .heading02 .title {
    font-size: 25px;
    font-size: 2.5rem;
  }
}
/* ジャンルページ */
.heading03 {
  position: relative;
  margin-bottom: 40px;
  padding: 0 2% 20px;
  text-align: center;
  border-bottom: 3px solid #f39800;
  z-index: 0;
}
.heading03:before {
  content: "";
  position: absolute;
  bottom: -20px;
  left: 50%;
  margin-left: -12px;
  width: 0px;
  height: 0px;
  border-style: solid;
  border-width: 21px 12px 0 12px;
  border-color: #fff transparent transparent transparent;
  z-index: 0;
}
.heading03:after {
  content: "";
  position: absolute;
  bottom: -25px;
  left: 50%;
  margin-left: -15px;
  width: 0px;
  height: 0px;
  border-style: solid;
  border-width: 25px 15px 0 15px;
  border-color: #f39800 transparent transparent transparent;
  z-index: -1;
}
.heading03 .en {
  display: block;
  font-family: 'Didact Gothic', sans-serif;
  /*font-family: 'Signika', sans-serif;*/
  font-size: 53px;
  font-size: 5.3rem;
  letter-spacing: 4px;
  line-height: 1;
  padding-top: 20px;
}
.heading03 .en:first-letter {
  font-weight: bold;
  color: #F49D0F;
}
.heading03 .jp {
  display: block;
  font-size: 20px;
  font-size: 2.0rem;
  /*margin-top: -12px;*/
  padding-top: 10px;
  padding-bottom: 10px;
}

@media screen and (max-width: 1000px) {
  .heading03 .en {
    font-size: 25px;
    font-size: 2.5rem;
  }
  .heading03 .jp {
    font-size: 14px;
    font-size: 1.4rem;
  }
}
/* ----------------------------------------------
 ページ説明
---------------------------------------------- */
.pageDescription {
  font-weight: bold;
  text-align: center;
  line-height: 1.8;
  /*margin-bottom: 30px;*/
}

@media screen and (max-width: 1000px) {
  .pageDescription {
    font-weight: normal;
    text-align: left;
  }
}
/* ----------------------------------------------
 ローカルナビゲーション（faq）
---------------------------------------------- */
#localNavi a {
  display: inline-block;
  padding: 10px;
}
#localNavi a .fa {
  margin-right: 10px;
}

@media screen and (max-width: 1000px) {
  #localNavi a {
    width: 100%;
  }
}
/* ----------------------------------------------
 ページ上部のお知らせ項　設置箇所：page-cancel.php
---------------------------------------------- */
#informationArea {
  border: solid 1px #de3246;
  display: table;
  width: 100%;
}
#informationArea .title, #informationArea .text {
  display: table-cell;
  padding: 20px;
  color: #de3246;
  vertical-align: middle;
  box-sizing: border-box;
}
#informationArea .title {
  background: #de3246;
  color: #fff;
  text-align: center;
  width: 20%;
}

@media screen and (max-width: 768px) {
  #informationArea .title, #informationArea .text {
    padding: 10px 5px;
  }
}
/* ----------------------------------------------
 SNS
---------------------------------------------- */
.snsArea li {
  box-sizing: border-box;
}
.snsArea a {
  display: block;
  color: #fff;
  box-sizing: border-box;
}

  #kids_snsArea .partsSnsArea {
    display: flex;
    justify-content: space-around;
    padding: 40px 5%;
  }
  #kids_snsArea .partsSnsArea .snsBox {
    width: 50%;
  }
  #kids_snsArea #fbPagePlugin_kids,
  #kids_snsArea .instagramWrap {
    max-width: 430px;
    margin: 0 auto;
  }
  #kids_snsArea .btnIg {
    max-width: 385px;
    margin: 0 auto;
  }
  @media screen and (max-width: 1000px) {
    #kids_snsArea .partsSnsArea {
      padding: 40px 10px 20px;
    }
  }
  @media screen and (max-width: 768px) {
    #kids_snsArea .partsSnsArea .snsBox {
      width: 100%;
    }
    #kids_snsArea .instagramWrap,#kids_snsArea .btnIg {
      max-width: none;
    }
  }


/* footer上のSNS */
.partsSnsArea {
  /*padding: 40px 10px 20px;*/
  padding: 40px 5%;
  display: flex;
  justify-content: space-around;
  background: #f1ece2;
}
.partsSnsArea .title {
  font-size: 35px;
  font-size: 3.5rem;
  font-family: 'Roboto', sans-serif;
  letter-spacing: 1px;
  text-align: center;
  position: absolute;
  top: -66px;
  left: 50%;
  width: 100%;
  margin-left: -50%;
  box-sizing: border-box;
}
.partsSnsArea .snsBox {
  /*width: 33.3%;*/
  width: 50%;
  padding: 0 10px;
  box-sizing: border-box;
  float: left;
  position: relative;
  text-align: center;
}
.snsBox .inner {
  max-width: 430px;
  margin: 0 auto;
}
.snsBox.ig .instagramWrap {
  height: 380px;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
}
.partsSnsArea .btnIg {
  text-align: center;
  padding: 15px;
  background: #a3998f;
  box-shadow: 0 2px 0 0 #968d81;
  border-radius: 3px;
  color: #fff;
}
.partsSnsArea .textSp {
  display: none;
}
.partsSnsArea .btnIg:hover {
  background: #968B7C;
  box-shadow: 0 2px 0 0 #968d81;
  text-decoration: none;
}

.partsSnsAreaBottom {
  display: none;
}

@media screen and (max-width: 1000px) {
  .partsSnsArea {
    padding: 40px 10px 20px;
  }
  .partsSnsAreaBottom {
    display: block;
  }
  .partsSnsAreaBottom .btn {
    display: none;
    padding: 15px;
    font-weight: bold;
    width: auto;
    box-sizing: border-box;
  }
  .partsSnsAreaBottom .btnLn {
    display: block;
    width: 50%;
    margin: 20px auto;
  }

  .partsSnsArea .btnIg:hover {
    background-color: #fff;
    box-shadow: none;
  }

  .partsSnsAreaBottom .btnFb {
    border: solid 2px #3c5a99;
    color: #3c5a99;
  }
  .partsSnsAreaBottom .btnTw {
    border: solid 2px #28a9e0;
    color: #28a9e0;
  }
  .partsSnsAreaBottom .btnLn {
    border: solid 2px #50C900;
    color: #50C900;
  }

  .partsSnsArea .btnIg .fa, .partsSnsAreaBottom .btn .fa {
    float: right;
  }
}
@media screen and (max-width: 768px) {
  .partsSnsArea .snsBox {
    width: 100%;
  }
  .partsSnsArea .snsBox:first-child {
    margin-top: 30px;
  }
  .partsSnsArea .snsBox .inner {
   max-width: none;
  }
  .partsSnsArea .snsBox.tw, .partsSnsArea .snsBox.fb {
    display: none;
  }

  .partsSnsAreaBottom .btn {
    display: block;
    margin-top: 10px;
  }
  .partsSnsAreaBottom .btnLn {
    width: 100%;
  }

  .partsSnsArea .btnIg {
    text-align: left;
    background-color: #fff;
    border-radius: 0;
    border: solid 2px #9d8052;
    color: #9d8052;
    box-shadow: none;
  }
  .partsSnsArea .textPc {
    display: none;
  }
  .partsSnsArea .textSp {
    display: block;
  }
}
/* ----------------------------------------------
 ボタン
---------------------------------------------- */
.btnArea .btn {
  text-align: center;
  padding: 20px 0;
  box-sizing: border-box;
  position: relative;
  display: block;
  /* 不具合ないかな？心配 */
}
.btnArea .btn .fa {
  position: absolute;
  right: 10px;
  top: 50%;
  margin-top: -8px;
}

@media screen and (max-width: 1000px) {
  .btnArea {
    padding: 0 0 20px;
  }
  .btnArea .btn {
    margin-top: 10px;
    padding: 10px 0;
  }
}
.btnPink, .btnGreen, .btnOrange, .btnBeige, .btnGray, .btnBlack {
  color: #fff !important;
  border-radius: 3px;
}

.btnWhite {
  color: #8a837b !important;
  border-radius: 3px;
}

.btnPink:hover, .btnGreen:hover, .btnOrange:hover, .btnBeige:hover, .btnGray:hover, .btnBlack:hover, .btnWhite:hover {
  text-decoration: none;
}

.btnPink {
  background: #dd294c !important;
  box-shadow: 0 2px 0 0 #a61b32 !important;
}
.btnPink:hover {
  background: #C50B3B !important;
  box-shadow: 0 2px 0 0 #a61b32 !important;
}

.btnGreen {
  background: #50aa90 !important;
  box-shadow: 0 2px 0 0 #37846d !important;
}
.btnGreen:hover {
  background: #0B8A63 !important;
  box-shadow: 0 2px 0 0 #37846d !important;
}

.btnOrange {
  background: #f39b00 !important;
  box-shadow: 0 2px 0 0 #c47d00 !important;
}
.btnOrange:hover {
  background: #d6720c !important;
  box-shadow: 0 2px 0 0 #bb6105 !important;
}

.btnBeige {
  background: #a3998f !important;
  box-shadow: 0 2px 0 0 #968d81 !important;
}
.btnBeige:hover {
  background: #968B7C !important;
  box-shadow: 0 2px 0 0 #968d81 !important;
}

.btnGray {
  background: #a3a09b !important;
  box-shadow: 0 2px 0 0 #84807d !important;
}
.btnGray:hover {
  background: #7B7973 !important;
  box-shadow: 0 2px 0 0 #84807d !important;
}

.btnBlack {
  background: #2a2927 !important;
  box-shadow: 0 2px 0 0 #020100 !important;
}
.btnBlack:hover {
  background: #171616 !important;
  box-shadow: 0 2px 0 0 #020100 !important;
}

.btnWhite {
  background: #efefef !important;
  box-shadow: 0 2px 0 0 #bfbab7 !important;
}
.btnWhite:hover {
  background: #dadada !important;
  box-shadow: 0 2px 0 0 #a0a0a0 !important;
}

/*.btnArea .btn {
  margin-left: 5px;
}
.btnArea .col:first-child .btn {
  margin-left: 0;
  margin-right: 5px;
}*/
/* ----------------------------------------------
 投稿リスト用パーツ
---------------------------------------------- */
/* イメージ上にテキスト配置 */
.textOn {
  position: relative;
  overflow: hidden;
}
.textOn .textTop {
  position: absolute;
  left: 0;
  top: 0;
}
.textOn .textBtm {
  position: absolute;
  left: 0;
  bottom: 0;
}

/* サムネイルを背景に指定 */
.imageBg {
  display: block;
  width: 100%;
  background-size: cover;
  background-position: center center;
  padding-top: 60%;
}

@media screen and (max-width: 768px) {
  /* スライド画像がある時はサムネイルを削除 */
  .picHave .imageBg {
    display: none;
  }
}
/* newアイコン：要調整 */
.iconNew {
  position: absolute;
  top: -1px;
  left: -1px;
  width: 50px;
  z-index: 9;
}

a:hover .iconNew {
  opacity: 1;
}

/*.col4.colPadding > .col:nth-child(4n+2) .iconNew {
  left: 9px;
}
.col4.colPadding > .col:nth-child(4n+3) .iconNew {
  left: 9px;
}
.col4.colPadding > .col:nth-child(4n+4) .iconNew {
  left: 9px;
}*/
.pickupNewsList .iconNew {
  top: -5px;
  left: -6px;
}

/* ----------------------------------------------
 タブ
---------------------------------------------- */
.tab_menu .colInner {
  display: block;
  background: #ABAAA5;
  color: #fff;
  text-align: center;
  padding: 10px 0;
  font-size: 18px;
  font-size: 1.8rem;
  cursor: pointer;
}
.tab_menu li.select .colInner {
  background: #f0ece1;
  color: #b6b4b0;
}

#timetableWrap .tab_menu li.select .colInner {
  background: #50AA90;
  color: #fff;
}

.tab_menu li .fa {
  margin-right: 10px;
}
.tab_menu li .colInner {
  margin-left: 5px;
}
.tab_menu li:first-child .colInner {
  margin-left: 0;
  margin-right: 0.5px;
}

.tab_contents {
  background: #f0ebe4;
  padding: 20px 0 0;
  position: relative;
}

#timetableWrap .tab_contents {
  padding: 30px;
}
#timetableWrap .tab_menu .colInner {
  font-size: 12px;
  font-size: 1.2rem;
  /* タブの高さ調整応急処置：ここから */
  font-size: 11px;
  font-size: 1.1rem;
  letter-spacing: -1px;
  min-height: 20px;
  height: 20px;
  line-height: 25px;
  /* タブの高さ調整応急処置：ここまで */
}

/* 休講・代講 */
.cancelList .tab_menu .colInner {
  font-size: 12px;
  font-size: 1.2rem;
  /* タブの高さ調整応急処置：ここから */
  font-size: 11px;
  font-size: 1.1rem;
  letter-spacing: -1px;
  min-height: 20px;
  height: 20px;
  line-height: 25px;
  /* タブの高さ調整応急処置：ここまで */
}

#timetableWrap .tab_menu li.select .colInner, .cancelList .tab_menu li.select .colInner {
  background: #50AA90;
  color: #fff;
}

@media screen and (max-width: 1000px) {
  .tab_contents, #timetableWrap .tab_contents {
    /* PC用レイアウト */
    /*padding: 10px;*/
    padding: 0;
  }

  .tab_menu .colInner {
    font-size: 14px;
    font-size: 1.4rem;
  }
}
/* ----------------------------------------------
 basicList
---------------------------------------------- */
.basicList {
  margin: 10px 0;
}
.basicList .title {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: bold;
  margin-top: 40px;
  margin-bottom: 20px;
}
.basicList .title:first-child {
  margin-top: 0;
}

/* faqlist */
.faqList .title {
  background: url(../images/common/icon_question.png) no-repeat 0 0;
  padding-left: 30px;
}

/* ----------------------------------------------
 textList
---------------------------------------------- */
.textList .text {
  margin-top: 20px;
}
.textList .text:first-child {
  margin-top: 0;
}

/* ----------------------------------------------
 imageList
---------------------------------------------- */
/* ソートの崩れ対応用 */
#imageList .colPadding > .col {
  padding: 5px 5px 5px 5px !important;
}
#imageList a {
  position: relative;
  display: block;
  background-size: cover;
  background-position: center center;
  /*height: 200px;*/
  text-decoration: none;
  padding-top: 100%;
}
#imageList .detail {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 165, 0, 0.8);
  color: #fff;
  /* padding: 25px;*/
  box-sizing: border-box;
  overflow: hidden;
}
#imageList span {
  display: block;
}
#imageList .detail {
  opacity: 0;
}
#imageList .detail .title {
  font-family: 'PT Sans', sans-serif;
  font-size: 30px;
  font-size: 3.0rem;
  /* margin-top: -10px; */
  line-height: 1;
  letter-spacing: 1px;
  margin: 25px 25px 10px;
}
#imageList .detail .text {
  /*width: 100%;*/
  height: 4em;
  overflow: hidden;
  margin: 0 25px 90px;
  position: relative;
}
#imageList .detail .text:after {
  content: '...';
  position: absolute;
  right: -1px;
  top: 40px;
}
#imageList .detail .btn {
  position: absolute;
  bottom: 25px;
  width: 80%;
  left: 10%;
  box-sizing: border-box;
  display: block;
  border: solid 2px #fff;
  padding: 10px 0;
  text-align: center;
}
#imageList .detail .btn .fa {
  float: right;
  margin: 2px 10px;
}
#imageList .detailBottom {
  margin: 10px;
}
#imageList .detailBottom .title {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1;
  font-family: 'PT Sans', sans-serif;
  font-weight: bold;
  text-align: center;
  letter-spacing: 1px;
  margin-bottom: 5px;
}
#imageList .detailBottom .genre {
  font-size: 8px;
  font-size: 0.8rem;
  line-height: 1;
  font-family: 'PT Sans', sans-serif;
  text-align: center;
  letter-spacing: 1px;
  overflow: hidden;
  white-space: nowrap;
}
#imageList .label {
  background-color: #eee;
  border-radius: 2px;
  color: #fff;
  display: inline;
  font-size: 74%;
  font-weight: bold;
  padding: 2px 6px 1px;
}
#imageList .label-shibuya {
  background-color: #f39801;
}
#imageList .label-yokohama {
  background-color: #e74378;
}
#imageList .label a {
  color: #fff;
  display: inline;
  padding: 0;
}

/* hover */
/* #imageList a:hover .detail {
	opacity: 1;
} */
/* ----------------------------------------------
 dancere List　使用箇所：page-experienced.php
---------------------------------------------- */
.dancerList li {
  border: solid 4px #f0ece1;
}
.dancerList li:nth-child(odd) .image, .dancerList li:nth-child(odd) .detail {
  float: left;
}
.dancerList li:nth-child(even) .image, .dancerList li:nth-child(even) .detail {
  float: right;
}
.dancerList .image {
  width: 40%;
  background-position: center center;
  background-size: cover;
}
.dancerList .detail {
  width: 60%;
}
.dancerList .title, .dancerList .text {
  margin: 20px;
}
.dancerList .name {
  font-family: 'Source Sans Pro', sans-serif;
  font-size: 30px;
  font-size: 3.0rem;
  margin-right: 10px;
}

/* ----------------------------------------------
 show List　使用箇所：page-experienced.php, page-event.php
---------------------------------------------- */
.showList .image, .showList .detail {
  float: left;
}
.showList li {
  border: solid 4px #f0ece1;
}
.showList .image {
  width: 100%;
  background-position: center center;
  background-size: cover;
}
.showList .detail {
  /*width: 70%;*/
  margin: 10px;
}
.showList .title, .showList .text {
  margin: 20px;
}
.showList .name {
  font-family: 'Source Sans Pro', sans-serif;
  font-size: 30px;
  font-size: 3.0rem;
  margin-right: 10px;
}
.showList .sub {
  display: block;
}

@media screen and (max-width: 1000px) {
  .showList .name {
    font-size: 24px;
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 640px) {
  .showList .name {
    font-size: 18px;
    font-size: 1.8rem;
  }
  .showList .title, .showList .text {
    margin: 10px;
    /*font-size: 10px;
    font-size: 1.0rem;*/
    font-size: 12px;
    font-size: 1.2rem;
  }
}
/* ----------------------------------------------
 scheduleList　使用箇所：page-dance-style-detail.php, page-beginner.php
---------------------------------------------- */
.scheduleList .instbox {
  background: #f1ece2;
}
.scheduleList .image {
  width: 33.3%;
  float: left;
  /*padding-top: 30%;*/
}
.scheduleList .imageBg {
  padding-top: 30%;
  padding-top: 0;
  position: relative;
  height: 240px;
  /*background-size: cover;*/
  background-size: 100%;
  background-position: center center;
  background-repeat: no-repeat;
}
.scheduleList .detailArea {
  width: 66.6%;
  float: left;
}
.scheduleList .nameArea {
  position: absolute;
  bottom: 0;
  width: 100%;
  box-sizing: border-box;
  display: block;
  padding: 10px 2px;
  text-align: center;
}
.scheduleList .title {
  display: block;
  padding: 10px 2px;
  text-align: center;
}
.scheduleList .nameArea {
  background-color: #636363;
  background-color: rgba(0, 0, 0, 0.3);
  color: #fff;
}
.scheduleList .title {
  color: #fff;
}
.scheduleList .classBg01 {
  background: #cb233a;
}
.scheduleList .classBg02 {
  background: #5c58b7;
  background: #7fc359;
}
.scheduleList .classBg03 {
  background: #338bbd;
  background: #f49c00;
}
.scheduleList .classBg04 {
  background: #34a934;
}
.scheduleList .classBg05 {
  background: #cc911d;
}
.scheduleList .place, .scheduleList .detail .line {
  display: block;
  padding: 5px 10px;
  border-bottom: dotted #ccc 1px;
  box-sizing: border-box;
}
.scheduleList .place {
  font-weight: bold;
  color: #181716;
}
.scheduleList .detail .btn {
  display: inline-block;
  padding: 3px 6px;
  font-size: 10px;
  float: right;
}
.scheduleList .detailArea {
  border-left: solid 3px #fff;
  box-sizing: border-box;
}
.scheduleList .col2 .col:first-child {
  border-right: solid 3px #fff;
  box-sizing: border-box;
}
.scheduleList .instbox, .scheduleList .title {
  border-bottom: solid 3px #fff;
}

/* クラス別タイトル背景色 */
/* 入門 */
/* 超初級 */
/* 初級 */
/* ノーレベル */
/* ALLレベル */
/* 区切り白線 */
@media screen and (max-width: 1000px) {
  .scheduleList .detailArea {
    width: 100%;
    display: none;
  }
  .scheduleList .instbox {
    position: relative;
  }
  .scheduleList .image {
    width: 30%;
    width: 100%;
    position: relative;
  }
  .scheduleList .imageBg {
    padding-top: 30%;
    padding-top: 100%;
    padding-top: 30%;
    width: 30%;
    height: auto;
    min-height: 0 !important;
    position: static;
  }
  .scheduleList .nameArea {
    position: absolute;
    right: 0;
    top: 50%;
    margin-top: -10%;
    width: 70%;
    padding: 10px 10% 10px 10px;
    box-sizing: border-box;
    background-color: transparent;
    color: #181716;
    text-align: left;
  }
  .scheduleList .name {
    font-size: 20px;
    font-size: 2.0rem;
    font-weight: bold;
  }
  .scheduleList .view {
    	/*  position: absolute;
      right: 0;
      bottom: 10px;
        width: 70%;
        text-align: center;*/
    display: block;
    margin-top: 5%;
  }
  .scheduleList .fa {
    position: absolute;
    right: 5%;
    top: 50%;
    margin-top: -15px;
    color: #7a7875;
  }
  .scheduleList .place {
    background-color: #96938e;
    color: #fff;
    border-bottom: solid 3px #f1ece2;
  }
  .scheduleList .detail .line {
    background: #fff;
    border-bottom: solid 2px #f1ece2;
  }
  .scheduleList .col1 .line {
    width: 100%;
  }
  .scheduleList .detailArea {
    padding: 2%;
    border-left: none;
  }

  /* 区切り白線 */
  .col2 .col:first-child {
    border-right: none;
  }

  .scheduleList .title {
    border-bottom: none;
  }
  .scheduleList .instbox {
    border-bottom: solid 2px #fff;
  }
}
/* とりあえずの対応：ここから */
@media screen and (max-width: 1000px) {
  .cancelList table th {
    display: none;
  }
  .cancelList table td {
    display: block;
    width: 100%;
    box-sizing: border-box;
    background: #fff;
  }

  .tableBasic.normal td {
    border-left: 1px solid #d8d5d0;
    /*border-right: 1px solid #d8d5d0;*/
  }

  .cancelList table tr td:first-child {
    background: #ccc;
  }
}
/* とりあえずの対応：ここまで */
/* ----------------------------------------------
 クラスリスト　仕様箇所：page-cancel, page-lesson
---------------------------------------------- */
.classInfo span {
  display: block;
  float: left;
  box-sizing: border-box;
}
.classInfo .heading {
  width: 100%;
  padding: 10px 2%;
  background: #96938e;
  color: #fff;
  text-align: left;
  font-size: 20px;
  font-size: 2.0rem;
}
.classInfo .iconArea {
  float: right;
}
.classInfo .time {
  font-family: 'Oswald', sans-serif;
  font-size: 15px;
  font-size: 1.5rem;
  width: 20%;
  padding: 4% 2% 4% 4%;
  text-align: left;
}
.classInfo .class .week, .classInfo .class .place, .classInfo .class .before, .classInfo .class .after, .classInfo .class .btnBox {
  padding: 4% 2%;
}
.classInfo .class .week, .classInfo .class .place {
  width: 25%;
}
.classInfo .class .before {
  width: 80%;
}
.classInfo .class .after {
  width: 100%;
  background-color: #e3dfd7;
  text-align: center;
  font-weight: bold;
  position: relative;
}
.classInfo .class .after .fa {
  position: absolute;
  color: orange;
  font-size: 30px;
  top: -15px;
  left: 50%;
  margin-left: -15px;
}
.classInfo .class .btnBox {
  width: 30%;
}
.classInfo .class .btn {
  font-size: 12px;
  font-size: 1.2rem;
  padding: 5px;
  width: 100%;
  display: block;
  text-align: center;
  box-sizing: border-box;
}

/* ----------------------------------------------
 投稿リスト
---------------------------------------------- */
.postList .detail {
  box-sizing: border-box;
  display: block;
  /*padding: 20px;*/
}
.postList .title {
  display: block;
  font-size: 18px;
  font-size: 1.8rem;
  padding-bottom: 5px;
}
.postList .text {
  display: block;
}

/* ----------------------------------------------
 newsList
---------------------------------------------- */
.colPadding .newsList li {
  padding: 0 5px !important;
}

.newsList a:link, .newsList a:visited {
  color: #fff;
}
.newsList .detail {
  box-sizing: border-box;
  display: block;
  background: #272624;
  color: #fff;
  position: relative;
  padding: 0;
}
.newsList .title {
  display: block;
  font-size: 14px;
  font-size: 1.4rem;
  /*height: 2.4rem;*/
  overflow: hidden;
  padding: 15px;
}
.newsList .text {
  display: block;
  font-size: 12px;
  font-size: 1.2rem;
  padding: 0 15px 15px;
}

/* category */
/* リンクつけるかは後で相談 */
.catArea {
  display: block;
  position: absolute;
  /* top: -50px;*/
  bottom: 10px;
  left: 10px;
}
.catArea .cat {
  display: inline-block;
  margin-top: 10px;
  margin-right: 3px;
  padding: 4px 7px;
  background: #ccc;
  color: #fff;
  font-size: 10px;
  font-size: 1.0rem;
}
.catArea .notice {
  background: #E8355C;
}
.catArea .class {
  background: #3A9962;
}

/*.newsList .imageBg {
  height: 170px;
  position: relative;
}
*/
@media screen and (max-width: 1000px) {
  .newsList .col a {
    display: block;
    background: #272624;
  }
  .newsList .imageBg {
    width: 30%;
    /*height: 100px;*/
    padding-top: 30%;
    float: left;
  }
  .newsList .detail {
    width: 70%;
    float: left;
  }
  .newsList .catArea {
    position: static;
    margin-left: 10px;
  }
  .newsList .catArea .cat {
    margin-top: 0;
  }
}
/* ----------------------------------------------
 campaignArea
---------------------------------------------- */
.campaignArea .icon {
  position: relative;
  left: 0;
  top: 0;
}
.campaignArea .detail {
  background: #272624;
  color: #fff;
  box-sizing: border-box;
  display: block;
}
.campaignArea .text {
  display: block;
  font-size: 12px;
  font-size: 1.2rem;
  padding: 20px;
}
.campaignArea a:hover {
  color: #fff !important;
}

@media screen and (max-width: 1000px) {
  .campaignArea .text {
    padding: 10px;
  }
}
/* ----------------------------------------------
 bannerArea
---------------------------------------------- */
/* ----------------------------------------------
 circleList：beginnerページで主に使用
---------------------------------------------- */
#circleList .top {
  position: relative;
  margin-bottom: 20px;
}
#circleList .top .icon {
  position: absolute;
  left: 0px;
  top: 0px;
  /*  background: #75c54a;*/
  display: block;
  width: 60px;
  height: 60px;
  border-radius: 50%;
}
#circleList .top .icon .point {
  font-family: 'Source Sans Pro', sans-serif;
  font-size: 16px;
  font-size: 1.6rem;
  color: #fff;
  line-height: 1;
  text-align: center;
  position: relative;
  top: 50%;
  margin-top: -30%;
  display: block;
}
#circleList .top .icon .number {
  font-size: 26px;
  font-size: 2.6rem;
}
#circleList .image {
  border-radius: 50%;
}

/* point1とか、画像にするなら以下を削除する */
/* point1とか、画像にするなら以下を削除する */
/* ガイドページのみ */
#page_guide #circleList .top .icon {
  left: -10px;
  top: -10px;
}
#page_guide #circleList .image {
  border-radius: 5px;
}
#page_guide #circleList .title {
  display: block;
  font-weight: bold;
  margin-bottom: 10px;
  font-size: 20px;
  font-size: 1.8rem;
}

@media screen and (max-width: 480px) {
  #page_guide #circleList .detail {
    margin-bottom: 30px;
  }
  #page_guide #circleList .top {
    width: 70%;
    margin: 0 auto 20px;
  }
  #page_guide #circleList .title, #page_guide #circleList .text {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }
  #page_guide #circleList li .image.pcNone {
    display: block !important;
  }
  #page_guide #circleList li .image.spNone {
    display: none !important;
  }
}
@media screen and (min-width: 481px) {
  #page_guide #circleList {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    /*IE10*/
    -webkit-flex-wrap: wrap;
    /* Safari6.1以降 */
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
  }
  #page_guide #circleList::before {
    display: none;
  }
  #page_guide #circleList li {
    float: none;
    width: 25%;
    padding: 0 6px 30px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
  #page_guide #circleList li.step6 {
    width: 50%;
  }
  #page_guide #circleList li .image {
    width: 100%;
  }
  #page_guide #circleList li .image.pcNone {
    display: none !important;
  }
  #page_guide #circleList li .image.spNone {
    display: block !important;
  }
}
/* ----------------------------------------------
 slider in youtube
---------------------------------------------- */
.youtubeArea {
  margin: 60px 0 0;
  padding: 25px;
  background-image: url("../images/common/bg_gnavi.jpg");
  background-size: cover;
  /*position:relative;*/
}
.youtubeArea iframe {
  width: 100%;
  height: 100%;
  min-height: 400px;
  	                  /*position: absolute;
    top:0;*/
}
.youtubeArea .bx-wrapper {
  margin-bottom: 20px;
}
.youtubeArea .bx-pager {
  text-align: center;
  margin-top: 10px;
}
.youtubeArea .bx-pager a {
  width: 15%;
  display: inline-block;
}

@media screen and (max-width: 480px) {
  .youtubeArea {
    margin: 40px 0 0 !important;
  }
  .youtubeArea iframe {
    min-height: 200px;
  }
  .youtubeArea .bx-pager a {
    width: 25%;
  }
}
/* ----------------------------------------------
 table
---------------------------------------------- */
caption, td, th {
  text-align: left;
  vertical-align: middle;
}

/*table.border {
  width: 100%;
  border-top: 1px solid #c4bfb9;
}
table.border th {
  font-weight: bold;
}
table.border td, table.border th {
  border-bottom: 1px solid #c4bfb9;
  padding: 10px 15px;
}*/
.tableBasic {
  width: 100%;
}
.tableBasic th {
  font-weight: bold;
}
.tableBasic.normal td, .tableBasic.normal th {
  padding: 10px 10px;
}
.tableBasic.border td, .tableBasic.border th {
  padding: 10px 10px;
}
.tableBasic.tableBg td, .tableBasic.tableBg th {
  padding: 20px;
}
.tableBasic.normal {
  /*border-top: 1px solid #c4bfb9;*/
  border-top: 1px solid #d8d5d0;
}
.tableBasic.normal td, .tableBasic.normal th {
  	/*border-bottom: 1px solid #c4bfb9;
    border-left: 1px solid #c4bfb9;*/
  border-bottom: 1px solid #d8d5d0;
  border-left: 1px solid #d8d5d0;
}
.tableBasic.normal td:first-child {
  border-left: none;
}
.tableBasic th:first-child {
  border-left: none;
}
.tableBasic.normal th {
  /*background: #e6e3dd;*/
  background: #f3efe8;
}
.tableBasic.normal td {
  background: #fff;
}
.tableBasic.border {
  border-top: 1px solid #c4bfb9;
}
.tableBasic.border td, .tableBasic.border th {
  border-bottom: 1px solid #c4bfb9;
}
.tableBasic.tableBg {
  border-collapse: separate;
  border-spacing: 0px 15px;
}
.tableBasic.tableBg th {
  background: #ded9d3;
  vertical-align: middle;
}
.tableBasic.tableBg td {
  background: #fff;
}

/* normal */
/* border */
/* background 有り */
/* ----------------------------------------------
 table And image
---------------------------------------------- */
.tableNimage {
  /*  padding: 5%;
    background: #ded9d3;*/
}
.tableNimage .tableBasic {
  float: left;
  width: 55%;
}
.tableNimage .image {
  float: right;
  width: 40%;
  /*height: 200px;*/
}

@media screen and (max-width: 1000px) {
  .tableNimage .tableBasic {
    width: 100%;
  }
  .tableNimage .image {
    width: 100%;
    margin-top: 30px;
  }
}
/* --------------------------------
	table.formArea
-------------------------------- */
table.formArea {
  width: 100%;
}
table.formArea tr {
  border-top: 1px solid #aaa;
  border-bottom: 1px solid #aaa;
}
table.formArea tr th {
  padding-top: 15px;
  padding-bottom: 15px;
}
table.formArea tr td {
  padding-top: 15px;
  padding-bottom: 15px;
}
table.formArea tr td.titlecolumn {
  padding-left: 10px;
  background: #e0e0e0;
}
table.formArea tr td.formcolumn {
  padding-left: 10px;
  width: 70%;
}
table.formArea .alert {
  color: #f00;
}

/*Media Query   Phones to Tablets*/
@media screen and (max-width: 1000px) {
  #contentArea table.formArea tr th, #contentArea table.formArea tr td {
    display: block;
  }
}
/*Media Query   Phones to Tablets*/
@media screen and (max-width: 1000px) {
  #contentArea table.formArea tr td.titlecolumn {
    padding-top: 10px;
    padding-bottom: 10px;
  }
  #contentArea table.formArea tr td.formcolumn {
    width: 100%;
    padding-top: 5px;
    padding-bottom: 15px;
    padding-left: 0;
  }
}
.must.requiredItem, table.formArea .must {
  color: #fff;
  background-color: #D12E49;
  padding: 0 5px;
  position: relative;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  margin: 0 10px;
  display: inline-block;
}

/* --------------------------------
	simTableArea
-------------------------------- */
.simTableArea {
  display: table;
  width: 100%;
}
.simTableArea .tablecols {
  display: table-row;
}
.simTableArea .tablecols .td {
  display: table-cell;
}
.simTableArea.borderWidth {
  border-collapse: separate;
  border-spacing: 0 20px;
}
.simTableArea.borderClose {
  border-collapse: separate;
  border-spacing: 0 5px;
}

/*Media Query   Portrait Tablets*/
/* --------------------------------
	form parts
-------------------------------- */
input[type="text"], textarea {
  font-size: 14px;
  padding: 5px;
  width: 80%;
}

input[type="radio"] {
  margin: 10px 5px;
}

/*Media Query   Phones to Tablets*/
@media screen and (max-width: 1000px) {
  input[type="text"] {
    width: calc(100% - 16px);
  }
}
textarea {
  height: 15em;
}

/*Media Query   Phones to Tablets*/
@media screen and (max-width: 1000px) {
  textarea {
    width: calc(100% - 10px);
  }
}
select {
  font-size: 14px;
  padding: 5px;
  border: 1px solid #aaa;
  width: 100%;
}

option {
  font-size: 14px;
  padding: 5px;
  border: none;
}

label.radio {
  margin-right: 1em;
}

input[type="button"], input[type="submit"] {
  font-size: 14px;
  padding: 8px 20px;
  /*margin: 15px;*/
  background: #ccc;
  border-style: none;
  cursor: pointer;
}
input[type="button"]:hover, input[type="submit"]:hover {
  background: #a3a3a3;
}
