/* 共通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: '';}


/* dl-counter */
.dl-counter{
  /* number カウンタリセット */
  counter-reset:  dtCcount 0;
}

.dl-counter dt{ font-weight:bold; }

.dl-counter dt:before {
  position: relative;
  display:inline-block;
  /* number カウンタの増加数をセット */
  counter-increment: dtCcount 1;
  /* 表示形式を指定 */
  content: counter( dtCcount)".";
}



/* 汎用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__parentBox:nth-child(odd){
  border-right:1px dashed #cf7998;
  border-bottom:1px dashed #cf7998;
}

.grid__teacher__parentBox:nth-child(even){
  border-left:1px dashed #cf7998;
  border-bottom:1px dashed #cf7998;
}

.grid__teacher__parentBox:nth-child(even){  border-bottom:1px dashed #cf7998; }
.grid__teacher__parentBox:nth-child(2n+1):last-child {  border-bottom: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;
  color:#cf7998;

  border-left: 5px solid #cf7998;
}

.grid__teacher__introduction dd{ font-size:12px; }

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


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



/* curriculum.html */

.curriculum__wrapper,
.curriculum__book{
  position:relative;
  box-sizing:border-box;
}


.curriculum__wrapper{
/*
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:5px;
*/

  padding:10px 5px;

}

.curriculum__book{ margin-bottom:10px; }


.curriculum__title__parent{
  position:relative;
  display:flex;
  align-items:center;
  margin-bottom:5px;
  padding-top:2px;
  padding-bottom:2px;
  padding-left:10px;

 color:#fcfcfc;

  background-color: #F9F2B3;
  background-image: linear-gradient(45deg,
      rgba(0, 121, 107, .75) 25%,
      rgba(0, 121, 107, 1) 25%,
      rgba(0, 121, 107, 1) 50%,
      rgba(0, 121, 107, .75) 50%,
      rgba(0, 121, 107, .75) 75%,
      rgba(0, 121, 107, 1) 75%,
      rgba(0, 121, 107, 1));
  background-size: 3px 3px;


}
.curriculum__title__parent span{
  padding-left:10px;
  font-size:120%;
}


#mainLayout h4.curriculum__title__child{ font-size:16px }

.curriculum__title__child{
  position:relative;
  display:flex;
  
  margin-top:10px;
  margin-bottom:3px;
  padding-top:0;
  padding-bottom:0;
  padding-left:3px;
  
  border-left:5px solid #cf7998;

 color:#cf7998;
}

.curriculum__title__grandchild::before{
  display:inline-block;
  content:"●";
  margin-right:4px;
  color:#cf7998;
}


.curriculum__wrapper ul,
.curriculum__wrapper li{
  position:relative;
  margin:0;
  padding:0;
  
  list-style:none;

  box-sizing:border-box;
}

.curriculum__list__slash li{ display:inline; }
.curriculum__list__slash li::before{
  display:inline-block;
  content:"／";
}
.curriculum__list__slash li:first-of-type::before{ content:"";  }

/* border用特殊 */
.curriculum__book > ul > li{ border-bottom:1px dotted #cf7998; }
.curriculum__book > ul > li:last-of-type{ border-bottom:0; }

.image__insert__wrapper{
  position:relative;
  box-sizing:border-box;
  
  display:flex;
  gap:5px;

}

.image__insert__wrapper img{
  margin-top:5px;
  margin-bottom:5px;
}



/* END あいうえお */
