@charset "utf-8";
html {
    background-color: #e6e9e9;/*枠外色グレー系e6e9e9*/
    background-image: linear-gradient(270deg, rgb(230, 233, 233) 0%, rgb(216, 221, 221) 100%);
    -webkit-font-smoothing: antialiased;
}  
   
/* 基本設定*/
body {
    background-color: #fff;/*背景色　白*/
    font-family: sans-serif;
    color: #333;
    text-align: center;
    font-size: 150%;/*文字サイズ*/
    margin: 0 auto;
    padding: 0em 0em; 
    max-width: 100%;/*枠900px*/
}
    

 /*header.Footer*/
header {
    width:100%;
    height: 310px;
    /*position: sticky;/*固定する*
    position: -webkit-sticky;/*Safari用ベンダープレフィックス*/
    background: noe;/*4169e1*/
    background-image: url('../title/kinkoukaiLibTitle.gif');
    background-size: cover;
    top: 0;/*ブラウザの上からの距離は0*/
}
header .h1 {
	text-shadow:
	  black 1px 1px 2px, black -1px 1px 2px,
		black 1px -1px 2px, black -1px -1px 2px;
}
footer {
  width:100%;
  /*position: sticky;/*固定する*
  z-index: 10;
  position: -webkit-sticky;/*Safari用ベンダープレフィックス*/  
  background-image: url('../title/kinkoukaiLibTitle.gif');
  background-size: cover;
  bottom: 0;  
  height: 230px;
  margin: px;
}
footer small {
	font-size: 0.5em;
}
img.img00 {
     padding: 2em;
     margin: 2em;
    }

img.img01 {  /*目次枠映像*/
    padding: 0.05em;
    margin: 0.05em;    
    }
img.img02 {  /*目次枠映像*/
    padding: 0.3em;
    margin: 0.3em;    
    }   

img.img03 {  /*目次枠映像*/
      padding: 1em;
      margin: 1em;    
      }  
    
    
/*2.NAV blue 基本形navkihon*/    
.navkihon {
  width: 100%;
  height: 40px;
  margin: 0 auto;
  padding: 0;
  display: flex;
}
.navkihon li {
  position: relative;
  list-style: none;
}
.navkihon li a {
  display: block;
  width: 200px;
  height: 40px;
  text-align: center;
  color: #fff;/*第一階層文字色*#fff*/
  font-size: 14px;
  line-height: 2.8;
  background: #9fb7d4;
  text-decoration: none;
  border-right: 1px solid #eee;
  box-sizing: border-box;
}
.navkihon > li:hover > a {/*layer-1*/
  color: #333;/*第一階層ホバー時文字色*orange*/
  background: #afc6e2;
}
.navkihon > li li:hover > a {/*layer-2*/
  color: #333;/*第2階層ホバー時文字色*olive*/
  background: #afc6e2;
}
.navkihon li ul {
  top: 40px;
  left: -40px;
  position: absolute;
}
.navkihon li ul li {
  overflow: hidden;
  height: 0;
}
.navkihon li ul li a {
  border-top: 1px solid #eee;
}
.navkihon li:hover > ul > li {
  overflow: visible;
  height: 40px;
}
.navkihon li ul li ul {
    top: 0;
    left: 110px;
  }
  /*lyer 2*/
  .navkihon li ul li ul:before {
    position: absolute;
    /*content: "";*/
    top: 15px;
    left: 30px;
    border: 5px solid transparent;
    border-left: 5px solid #fff;
  }
  .navkihon li ul li ul li:hover > a {/*layer-3*/
    color: pink;/*第3階層ホバー時文字色*pink*/
    background: #afc6e2;
  }
  .navkihon li ul li ul.left {
    top: 0;
    left: -190px;
  }
  .navkihon li ul li ul.left:before,/*layer-2-left▷*/
  .navkihon li ul li ul li ul.left:before {/*layer-3-left▷*/
    position: absolute;
    content: "";
    top: 15px;
    left: 190px;
    border: 5px solid transparent;
    border-right: 5px solid #fff;
  }
  .navkihon li ul li ul.left li:hover > a {/*layer-2-left*/
    color: pink;
    background: #afc6e2;
  }
  .navkihon li ul li ul li ul.left li:hover > a {/*layer-3-left*/
    color: purple;
    background: #afc6e2;
  }
.content {
  width: 750px;
  height: 200px;
  background: #eee;
  margin: 0 auto;
  padding: 10px;
  text-align: left;
  box-sizing: border-box;
}

/*3.member基本　緑navkihon*/    
.navkihonM {
  width: 100%;
  height: 40px;
  margin: 0 auto;
  padding: 0;
  display: flex;
}
.navkihonM li {
  position: relative;
  list-style: none;
}
.navkihonM li a {
  display: block;
  width: 200px;
  height: 40px;
  text-align: center;
  color: #fff;/*第一階層文字色*#fff*/
  font-size: 14px;
  line-height: 2.8;
  background: #008080;/*afc6e2*/;
  text-decoration: none;
  border-right: 1px solid #eee;
  box-sizing: border-box;
}
.navkihonM > li:hover > a {/*layer-1*/
  color: #fff;/*第一階層ホバー時文字色*orange*/
  background: #008b8b;/*afc6e2*/;
}
.navkihonM > li li:hover > a {/*layer-2*/
  color: #fff;/*第2階層ホバー時文字色*olive*/
  background: #008b8b;/*afc6e2*/;
}
.navkihonM li ul {
  top: 40px;
  left: -40px;
  position: absolute;
}
.navkihonM li ul li {
  overflow: hidden;
  height: 0;
}
.navkihonM li ul li a {
  border-top: 1px solid #eee;
}
.navkihonM li:hover > ul > li {
  overflow: visible;
  height: 40px;
}
.navkihonM li ul li ul {
    top: 0;
    left: 110px;
  }
  .navkihonM li ul li ul:before {/*layer-2▷*/
    position: absolute;
    content: "";
    top: 15px;
    left: 30px;
    border: 5px solid transparent;
    border-left: 5px solid #fff;
  }
  .navkihonM li ul li ul li:hover > a {/*layer-3*/
    color: pink;/*第3階層ホバー時文字色*pink*/
    background: #2e8b57;/*afc6e2*/
  }
  .navkihonM li ul li ul.left {
    top: 0;
    left: -190px;
  }
  .navkihonM li ul li ul.left:before,/*layer-2-left▷*/
  .navkihonM li ul li ul li ul.left:before {/*layer-3-left▷*/
    position: absolute;
    content: "";
    top: 15px;
    left: 190px;
    border: 5px solid transparent;
    border-right: 5px solid #fff;
  }
  .navkihonM li ul li ul.left li:hover > a {/*layer-2-left*/
    color: pink;
    background: #afc6e2;
  }
  .navkihonM li ul li ul li ul.left li:hover > a {/*layer-3-left*/
    color: purple;
    background: #afc6e2;
  }
/*4.T特設ページ基本形navkihon*/    
.navkihonT {
  width: 100%;
  height: 40px;
  margin: 0 auto;
  padding: 0;
  display: flex;
}
.navkihonT li {
  position: relative;
  list-style: none;
}
.navkihonT li a {
  display: block;
  width: 180px;
  height: 40px;
  text-align: center;
  color: #fff;/*第一階層文字色*#fff*/
  font-size: 14px;
  line-height: 2.8;
  background: #3105ac;/*afc6e2*/;
  text-decoration: none;
  border-right: 1px solid #eee;
  box-sizing: border-box;
}
.navkihonT > li:hover > a {/*layer-1*/
  color: #fff;/*第一階層ホバー時文字色*orange*/
  background: #3105ac;/*afc6e2*/;
}
.navkihonT > li li:hover > a {/*layer-2*/
  color: #fff;/*第2階層ホバー時文字色*olive*/
  background: #3105ac;/*afc6e2*/;
}
.navkihonT li ul {
  top: 40px;
  left: -40px;
  position: absolute;
}
.navkihonT li ul li {
  overflow: hidden;
  height: 0;
}
.navkihonT li ul li a {
  border-top: 1px solid #eee;
}
.navkihonT li:hover > ul > li {
  overflow: visible;
  height: 40px;
}
.navkihonT li ul li ul {
    top: 0;
    left: 110px;
  }
  .navkihonT li ul li ul:before {/*layer-2▷*/
    position: absolute;
    content: "";
    top: 15px;
    left: 30px;
    border: 5px solid transparent;
    border-left: 5px solid #fff;
  }
  .navkihonT li ul li ul li:hover > a {/*layer-3*/
    color: pink;/*第3階層ホバー時文字色*pink*/
    background: #3105ac;/*afc6e2*/
  }
  .navkihonT li ul li ul.left {
    top: 0;
    left: -190px;
  }
  .navkihonT li ul li ul.left:before,/*layer-2-left▷*/
  .navkihonT li ul li ul li ul.left:before {/*layer-3-left▷*/
    position: absolute;
    content: "";
    top: 15px;
    left: 190px;
    border: 5px solid transparent;
    border-right: 5px solid #fff;
  }
  .navkihonT li ul li ul.left li:hover > a {/*layer-2-left*/
    color: pink;
    background: #afc6e2;
  }
  .navkihonT li ul li ul li ul.left li:hover > a {/*layer-3-left*/
    color: purple;
    background: #afc6e2;
  }

#main
    {
     margin-left: auto;    /* 左側マージンを自動的に空ける */
     margin-right: auto;   /* 右側マージンを自動的に空ける */
     text-align: left;    /* 中身を左側表示に戻す */
     width: 900px;         /* 幅を決定する */
    }   
 /* class="koushi"講師紹介枠 */      
.koushi {
     width: 90%;
     text-align: center; 
     padding: 5px;
    }
    
    /* class="table"横2枠下線のみ */    
.table {
  border: 0;/*枠線表示なし*/
  border-top: solid 2px #66cdaa;/*トップ枠線*/
  border-bottom: solid 2px #66cdaa;  /*最下段下線*/    
  margin: 0 auto;
 
}   

.table-img,
.news-txt { /* 左右枠基本設定（同設定） */
  vertical-align: top;  /* TOP寄せ */
  text-align: left;  /* 左寄せ */
  width: 300px;  /*枠幅*/
  padding-left: 15em;  /*枠左に15em*/
}
/*.table-img{  /* 映像枠 
 /* background: ;#f0e68c:
}*/
.table-img > img{  /* 映像サイズ*/
  width: 100%;
}
/*.table-txt{ /* 左枠 
  background: ;  /*#d2b48c
} */  

/*ＷEBアルバム*/
flexbox {
  display: flex;
    align-items: stretch;
}        
/*アコーディオンcp_actab（シングル）*/
.cp_actab {
	position: relative;
	overflow: hidden;
	width: 100%;
	margin: 0 auto;
	color: #000000;
}
.cp_actab input {
	position: absolute;
	z-index: -1;
	opacity: 0;
}
.cp_actab label {
	font-weight: bold;
	line-height: 3;
	position: relative;
	display: block;
	padding: 0 0 0 1em;
	cursor: pointer;
	margin: 0 0 1px 0;
	background: #87ceeb;
}
.cp_actab .cp_actab-content {
	overflow: hidden;
	max-height: 0;
	-webkit-transition: max-height 0.35s;
	transition: max-height 0.35s;
	color: #333333;
	background: #ffffff;
}
.cp_actab .cp_actab-content p {
	margin: 1em;
}
/* :checked */
.cp_actab input:checked ~ .cp_actab-content {
	max-height: 300em;/*cp_actab 高さ*/
}
/* Icon */
.cp_actab label::after {
	line-height: 3;
	position: absolute;
	top: 0;
	right: 0;
	display: block;
	width: 3em;
	height: 3em;
	-webkit-transition: all 0.35s;
	transition: all 0.35s;
	text-align: center;
}
.cp_actab input[type=checkbox] + label::after {
	content: '+';
}
.cp_actab input[type=checkbox]:checked + label::after {
	transform: rotate(315deg);
}
/*cp_actabC:cp_actab_c*/
/*アコーディオンcp_actaC（シングル）*/
.cp_actabC {
	position: relative;
	overflow: hidden;
	width: 100%;
	margin: 0 auto;
	color: #fffbfb;
}
.cp_actabC input {
	position: absolute;
	z-index: -1;
	opacity: 0;
}
.cp_actabC label {
	font-weight: bold;
	line-height: 3;
	position: relative;
	display: block;
	padding: 0 0 0 1em;
	cursor: pointer;
	margin: 0 0 1px 0;
	background: #046991;
}
.cp_actabC .cp_actab-content {
	overflow: hidden;
	max-height: 0;
	-webkit-transition: max-height 0.35s;
	transition: max-height 0.35s;
	color: #333333;
	background: #ffffff;
}
.cp_actabC .cp_actab-content p {
	margin: 1em;
}
/* :checked */
.cp_actabC input:checked ~ .cp_actab-content {
	max-height: 300em;/*cp_actab 高さ*/
}
/* Icon */
.cp_actabC label::after {
	line-height: 3;
	position: absolute;
	top: 0;
	right: 0;
	display: block;
	width: 3em;
	height: 3em;
	-webkit-transition: all 0.35s;
	transition: all 0.35s;
	text-align: center;
}
.cp_actabC input[type=checkbox] + label::after {
	content: '+';
}
.cp_actabC input[type=checkbox]:checked + label::after {
	transform: rotate(315deg);
}

/*アコーディオンcp_actab（member）*/
.cp_actabM {
	position: relative;
	overflow: hidden;
	width: 100%;
	margin: 0 auto;
	color: #fff;/*ラベル文字色#000000*/
}
.cp_actabM input {
	position: absolute;
	z-index: -1;
	opacity: 0;
}
.cp_actabM label {
	font-weight: bold;
	line-height: 3;
	position: relative;
	display: block;
	padding: 0 0 0 1em;
	cursor: pointer;
	margin: 0 0 1px 0;
	background: #008000/*#87ceeb*/
}
.cp_actabM .cp_actab-content {
	overflow: hidden;
	max-height: 0;
	-webkit-transition: max-height 0.35s;
	transition: max-height 0.35s;
	color: #333333;
	background: #ffffff;
}
.cp_actabM .cp_actab-content p {
	margin: 1em;
}
/* :checked */
.cp_actabM input:checked ~ .cp_actab-content {
	max-height: 350em;/*cp_actab 高さ*/
}
/* Icon */
.cp_actabM label::after {
	line-height: 3;
	position: absolute;
	top: 0;
	right: 0;
	display: block;
	width: 3em;
	height: 3em;
	-webkit-transition: all 0.35s;
	transition: all 0.35s;
	text-align: center;
}
.cp_actabM input[type=checkbox] + label::after {
	content: '+';
}
.cp_actabM input[type=checkbox]:checked + label::after {
	transform: rotate(315deg);
}

/*pager*/
.pager {
  overflow: hidden;
}
.pager ul {
  list-style: none;
  position: relative;
  left: 50%;
  float: left;
}
.pager ul li {
  margin: 0 1px;
  position: relative;
  left: -50%;
  float: left;
}
.pager ul li span,
.pager ul li a {
  display: block;
  font-size: 16px;
  padding: 0.6em 1em;
  border-radius: 3px;
}
.pager ul li a {
  background: #EEE;
  color: #000;
  text-decoration: none;
}
.pager ul li a:hover {
  background: #333;
  color: #FFF;
}
/* :::::: cssgrid :::::: */

/* ::: 続きを見る :::: https://metrograph.jp/css_gradation_paragraph/　:::*/
.grad-btn {
  /*.grad-btnのCSSは表示/非表示の動作には関係ないので、ご自由にどうぞ。*/
  background-color: #036b48;
  color: rgb(241, 237, 237);
  width: 90%;/*「全体を読む」バーの幅*/
}
.grad-btn::before {
  content: "▼全体を読む";
}
.grad-item {
  position: relative;
  overflow: hidden;
  height: 350px; /*隠した状態の高さ*/
}
.grad-item::before {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 40px; /*グラデーションで隠す高さ*/
  background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
  background: linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
  content: "";
}
.grad-trigger {
  display: none; /*チェックボックスは常に非表示*/
}
.grad-trigger:checked ~ .grad-btn::before {
  content: "▲閉じる" /*チェックされていたら、文言を変更する*/
}
.grad-trigger:checked ~ .grad-item {
  height: auto; /*チェックされていたら、高さを戻す*/
}
.grad-trigger:checked ~ .grad-item::before {
  display: none; /*チェックされていたら、grad-itemのbeforeを非表示にする*/
}


/* //モーダルウインドウBの設定// */
.open {
	cursor:pointer; /* マウスオーバーでカーソルの形状を変えることで、クリックできる要素だとわかりやすいように */
}
#popupB {
	display: none; /* label でコントロールするので input は非表示に */
}
.overlay {
	display: none; /* input にチェックが入るまでは非表示、z-indexでフロートメニュが最前面 */
}
#popupB:checked + .overlay {
	display: block;
  position: relative;/*fixed*/
  z-index: 3;/*toplayer/3*/
	background-color: #00000070;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}
.window {
	width: 100%;
	max-width: 650px;
	height: 700px;
	background-color: #d3eed0f8;
	border-radius: 6px;
 /* padding-left:20px;*/
  padding:20px;
  margin: 10px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: fixed;
	top:50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.text {
	font-size: 16px;
	margin: 0!important;
}
.close {
	cursor:pointer;
	position: absolute;
	top: 4px;
	right: 4px;
	font-size: 20px;
}






