/* 共通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: -moz-linear-gradient(開始位置, 開始色, 終了色);
    background: -webkit-linear-gradient(開始位置, 開始色, 終了色);
    background: linear-gradient(to 方向, 開始色, 終了色);
    */
  background: linear-gradient(to bottom, #FFF0CD, #FFD87C);
}

#mainLayout h4.title_underline--red{
  padding-bottom:5px;
  line-height:1;
}

.title_underline--red{
  display: flex;
  flex-flow: row wrap;
  justify-content: left;
  align-items: center;

  margin-bottom:5px;
  height:25px;
  max-height:none;

  border-bottom:1px dotted #b53e6d;

  font-size:14px;
  color : #b53e6d;

  box-sizing: border-box;

}

/* 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;

}



/* ***************************************
 * recipe.html
* ************************************** */

.pict-border {
  position: relative;
  border: 1px solid #363;
}

.pict-border-outline {
  outline-offset: -3px;
  /* 個別カラー設定 */
  outline: 1px solid rgba(255, 255, 255, 0.7);

}


/* ***************************************
 * curriculum.html
* ************************************** */


.curriculum-ol-list {
  position: relative;
  margin: 0;
  padding: 0 0 0 1.5em;
  box-sizing: border-box;
}

.curriculum-list-circle,
.curriculum-list {
  position: relative;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  list-style-position: inside;
  list-style-type: none;
}


.curriculum-list-circle,
.curriculum-list>li {
  line-height: 160%;
  margin-bottom: 5px;
  padding: 2px 0;
  border-bottom: 1px dotted #363;
}


.curriculum-list-circle::before {
  display: inline-block;
  content: "●";
  font-size: 0.6em;
  color: green;
}


.curriculum-list>li::before {
  display: inline-block;
  padding-right: 5px;
  content: "●";
  font-size: 0.6em;
  color: green;
}

.curriculum-list>li.otherColor::before {
  display: inline-block;
  color: red
}


.curriculum-list-nodecoration {
  position: relative;
  margin: 0;
  padding: 0;
  width:100%;
  box-sizing: border-box;
  list-style-position: inside;
  list-style-type: none;

  border-bottom: 1px dotted #363;
}

.curriculum-list-nodecoration>li {
  line-height: 160%;
  margin-bottom: 5px;
  padding: 2px 0;
}






.curriculum-headDesign03 {
  box-sizing: border-box;
  margin-left: -6px;
  padding: 5px 10px;
  width: calc(100% + 12px);

  text-align: left;
  color: #fcfcfc;
  border-bottom: 1px dotted #396;

  /* number カウンタリセット */
  counter-reset: chapter 0;

  /* 画像が面倒なので射線 */
  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-headDesign03::before {
  content: "■";
  color: #393;
}

.curriculum-headDesign04Sub,
.curriculum-headDesign04 {
  margin: 0;
  padding: 10px 0 5px;


  font-size: 1em;
  text-align: left;

  color: #333;

}


.curriculum-headDesign04:before {
  margin: 0;
  padding: 0 5px;
  /* number カウンタの増加数をセット */
  counter-increment: chapter 1;
  /* 表示形式を指定 */
  content: "第"counter(chapter)"章";
  border-left: 7px solid #363;
}

.curriculum-headDesign04Sub::before {
  content: "■";
  color: #393;
}

.curriculum-outsidebox {
  position: relative;
  box-sizing: border-box;
  margin: 10px auto;
}


.curriculum-outsidebox:last-child {
  margin-bottom: 15px;
}


/* ***************************************
 * susume.html
* ************************************** */

.design-box01 {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;

  box-sizing: border-box;

  margin: 0;
  padding: 5px;
  width: 100%;
  line-height: 100%;
  height: 40px;
  max-height: auto;


  background-color: rgba(139, 195, 74, 1);
}

.design-box01::before {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  border-top: 15px solid #fcfcfc;
  border-right: 15px solid rgba(104, 159, 56, 1);
  box-shadow: 1px 1px 2px rgba(0, 77, 64, .45);

}

.underArrow01 {
  position: relative;
  margin: 0 auto 2em;

  overflow: visible;
}

.underArrow01::after {
  position: absolute;
  content: '';
  top: 100%;
  left: calc(50% - 10px);
  margin-top: 5px;
  border: 10px solid transparent;
  border-top: 10px solid #333;
}



.hD01-A {
  position: relative;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;

  box-sizing: border-box;

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



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



/* ***************************************
 * teacher.html
* ************************************** */

.teacher-designbox {
  position: relative;
  margin: 5px auto;

}

.teacher-designbox-child {
  position: relative;
  box-sizing: border-box;
  margin: 3px 0 10px;
  padding: 10px 5px 5px;

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

}

.teacher-designbox-child::after{
  display: block;
  content:"";
  clear:both;
}

.teacher-dt {
  position: relative;
  margin-top: 5px;
  color: #393;
  font-weight: bold;
}

.teacher-dt::before {
  content: '';
  padding-left: 5px;
  border-left: 5px solid #393;

}

.teacher-ul-list{
  position: relative;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  list-style-position: inside;
  list-style-type: none;
}


.pict-teach {
  margin-right: 5px;
  margin-bottom: 5px;
  float: left;
  clear: left;

  border: 1px solid rgba(46, 125, 50, 1);

}

.pict-teach::after {
  content: "";
  display: block;
  clear: both;
}

.pict-teach-big {
  display: block;
  margin:0 auto;

  width:100%;
  max-width: 340px;

  border: 1px solid rgba(46, 125, 50, 1);
}


/* ***************************************
 * shuryo.html
* ************************************** */
.asterisk-note{
  margin-top:5px;
  padding-left:1em;
  text-indent:-1em;

  font-size:80%;
}

.asterisk-note::before{ content: "※"; }


/* ***************************************
 * user.html
* ************************************** */

/* 他指定との兼ね合いで新規創設だが、実際は統一 */
.pict-userLeft{
  margin:0;
  margin-right:10px;
  padding:0;

  float:left;
  clear: both;

  border:1px solid #CC8A00;
  border-radius: 6px;

}

/* 汎用Grid */

/* grid */
.grid-multiple{
  display:grid;
  gap:10px;
  margin-bottom:20px;

}

.grid-multiple-double{ grid-template-columns:repeat(2, 1fr); }
.grid-multiple-triple{ grid-template-columns:repeat(3, 1fr); }

/*
.grid-multiple-child{}
.grid-multiple-title{}
*/

.grid-multiple-image{
  position:relative;

  width:100%;
  aspect-ratio: 4 / 3

}

.grid-multiple-image img{
  position:relative;
  display:block;
  width:100%;
  height:100%;
  object-fit: cover;
  border:1px solid #693;
}


/* END あいうえお */
