/* 共通SET */
#mainLayout,
.contentsBlock { position: relative; }

#mainLayout h2,
#mainLayout h3,
#mainLayout h4 { font-size: 14px; }

/* 汎用List design */
.list-inside{
  /* 数値には必ず変更アリ(デフォフォントによってたぶん違う) */
  padding-left:2em;
  text-indent: -1.4em;
  list-style-position: inside;
}
.list-inline{
  position: relative;
  display: inline;
  list-style: none;
}
.li-slash{
  display: inline;
  list-style-type: none;
}
.li-slash::before{ content: '/ ';}
.li-slash:first-child::before{ content: '';}

/* 汎用HEAD デザイン */
.hD01 {
  position: relative;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;

  flex-basis: 100%;

  box-sizing: border-box;

  margin: 5px auto 10px;
  padding: 5px 0;
  line-height: 140%;
  width:100%;

  /*
    本番ではSASSでのコンパイルを使う
    background: linear-gradient(to 方向, 開始色, 終了色);
    */
  background: linear-gradient(to bottom, #FFF0CD, #FFD87C);
}


/* Flex直接の子要素にこの指定がないと画像が伸びる */
.pict-flex {  align-self: flex-start; }

.pict-center {
  display: block;
  margin: 5px auto;
}

.clearAll { clear: both; }



/* 汎用設定 flexbox */

.flexBox-layout,
.flexbox-parent{
  position: relative;
  box-sizing: border-box;

  display: flex;
  flex-flow: wrap row;
  justify-content:space-around;
}

/* スマホは基本2分割 */
.flexbox-children{
  position: relative;
  box-sizing: border-box;

  flex-basis:45%;
}

.flexGrow { flex-grow: 1; }

.basisFull { flex-basis: 100vw; }


.flexBox-childBox {
  position: relative;
  box-sizing: border-box;
  margin: 5px auto;

  /* 子boxとしての設定 */
  flex-basis: 100%;

  /* 親BOXとしての設定 */
  display: flex;
  flex-flow: row wrap;

  justify-content: center;
}

.flexBox-grandchild {
  position: relative;
  padding: 5px 0 5px 5px;
  box-sizing: border-box;
  width: 50%;
}

/*
 *  汎用BOX用
 * 現時点では[shuryo.html], [susume.html]で使用
 */

.block-design01 {

  position: relative;
  display: flex;
  box-sizing: border-box;
  flex-flow: row wrap;
  justify-content: space-around;
}

.block-design-childBox {
  position: relative;
  box-sizing: border-box;
  margin: 5px auto;

  /* 子boxとしての設定 */
  flex-basis: 100%;
}


/* 下段LINK共通項 */

#pageLink-column {
  position: relative;
  list-style: none;
}


.pageLink-child { position: relative; }


.pageLink-grandchild {
  position: relative;
  display: flex;
  flex-flow: row wrap;

  box-sizing: border-box;
}

.before-odd{
 border-top: 1px solid #dcdcdc;
}

.pageLi {
  box-sizing: border-box;
  flex-basis: calc(100% / 2);
  list-style: none;
  text-align: left;

  border-bottom: 1px solid #dcdcdc;
}


.pageLi:nth-child(odd) {
  border-right: 1px solid #dcdcdc;
}

.pageLi:nth-child(2n+1):last-child {
  border-right: 1px solid #dcdcdc;
  border-bottom: 0;
}

.li-bottom-none { border-bottom: 0; }

.pageLi-Full {

  flex-basis: 100%;

  list-style: none;
  text-align: left;

  border-top: 1px solid #dcdcdc;

}

.pageLi-Full:last-child {
  border-bottom: 1px solid #dcdcdc;
}


.pageLi-Ancher {
  display: block;
  box-sizing: border-box;
  margin: 2px;
  padding: 5px 10px;
  text-decoration: none;

  background-image: url(./images/next.gif);
  background-size: 10px;
  background-position: 100% 50%;
  background-repeat: no-repeat;

}



/* teach.html */

.grid__teacher__wrapper,
.grid__teacher__parentBox,
.grid__teacher__image,
.grid__teacher__introduction,
.grid__teacher__text{
  position:relative;
  box-sizing:border-box;
}

.grid__teacher__wrapper{
  padding-top:10px;
  padding-bottom:10px;
}


.grid__teacher__parentBox{
  display:grid;
  grid-template-columns: auto 1fr;
  margin-bottom:10px;
  padding:10px 5px;


  border: 1px dotted #393;
  border-bottom: 2px solid #393;
  border-radius: 5px 5px 0 0

}


.grid__teacher__image{
  display:flex;
  justify-content: center;
  align-items: center;

  padding:5px;
}


.grid__teacher__image img{  border:1px solid #2e7d32;  }

.grid__teacher__introduction{

  padding-top:10px;
  padding-bottom:5px;
}


.grid__teacher__introduction dd,
.grid__teacher__introduction ul,
.grid__teacher__introduction li{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

.grid__teacher__introduction dt{
  margin-bottom:5px;
  padding-left:5px;
  font-size:16px;
  font-weight:bold;
  color:#339933;

  border-left: 5px solid #339933;
}


.grid__teacher__introduction ul,
.grid__teacher__introduction li{ list-style:none; }


.grid__teacher__text{
  grid-column: 1 / 4;
  line-height:160%;
}


/* curriculum.php */



.contents-groupbox,
.contents-list-parent,
.contents-list-child{
 position:relative;

 margin:0;
 padding:0;
 list-style:none;
 box-sizing:border-box;
}


.contents-groupbox{
  display:grid;
  grid-template-columns: 1fr;
  gap:10px;

  padding:5px;
  background-color:#f5f5f5;
}

.contents-groupbox-parent{
 padding:10px;
 border:1px dotted #dcdcdc;
 box-sizing:border-box;

}



/* [.maininbox ul]は他所での指定を無効化するため。ふつうはいらない */
.maininbox ul.contents-list-parent,
.maininbox ul.contents-list-child{
  margin:0;
  padding:0;
  list-style:none;

}

.maininbox ul.contents-list-parent li,
.maininbox ul.contents-list-child li{
  position: relative;
  display:inline;
  margin:0;
  padding:0;
  list-style:none;
}


.list-separator li{
  display:inline;

}

.list-separator li::before{
  position: relative;
  display: inline-block;
  content: "／";
  padding-left: 2px;
  padding-right: 2px;

}
.list-separator li:first-of-type::before{
  position: relative;
  display: inline-block;
  content: "";
  padding-left: 0;

}



.contents-list-h3{
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;

  margin:0;
  padding:0;

  width: 100%;
  height:20px;

  border-radius: 20px;
  background-color: #f90;
}

.contents-list-h3-inner{
  color:#fcfcfc;
}

.contents-list-h4{

  margin-bottom:5px;
  padding-top:10px;
  padding-bottom:5px;
  border-bottom:1px solid #ccc;


  text-align:left;
  color:#1e90ff;


}

.contents-list-h5{

}
.contents-list-h5::before{
  position: relative;
  display: inline-block;
  content: "● ";
}



/* test index  */


.priceTable{
  margin-top:10px;
  padding-top:10px;

  border-top:1px solid #dcdcdc;
  clear: both;

}



/* END あいうえお */
