* {
  margin: 0px;
  padding: 0px;
  text-align: center;
  font-family: sans-serif;
}
.wf-roundedmplus1c 
{ font-family: "M PLUS Rounded 1c"; }
/* #app {
  background-image: url(img/background.jpeg);
  background-repeat: repeat;
} */

.top-containr {
  background-image: url(img/background.jpeg);
}
.header-logo {
  text-align: left;
}

#header-nav  {
  margin-top: 20px;
  background-color: red;
}

img.bar {
  max-width: 470px;
}
img.shirokuma {
  height: 69px;
}
@media(max-width:599px) {
  img.shirokuma {
    display: none;
  }
  img.bar {
    max-width: 300px;
  }
   img.top-container-img {
     height: 300px;
   }
}
@media(min-width:599px) and (max-width:1023px) {
   img.top-container-img {
     height: 600px;
   }
}
@media(min-width:1024px) {
  img.top-container-img {
    height: 700px;
  }
}
#app {
  width: 100%;
}
.img-area {
  padding-bottom: 20px;
  margin: auto;
  position: relative;
  background-image: url(img/background.jpeg);
}
img.top-container-img {
  width: 90%;
  /* height: 600px; */
  background-size: cover;
  
}
.img1 {
  margin: 0 auto;
  display: block; 
  padding-top: 20px;
}
.img2 {
  position: absolute;
  padding-top: 20px;
  top: 0;
  left: 5%;
}
.img3 {
  position: absolute;
  padding-top: 20px;
  top: 0;
  left: 5%;
}
.img4 {
  position: absolute;
  padding-top: 20px;
  top: 0;
  left: 5%;
}
.img5 {
  position: absolute;
  padding-top: 20px;
  top: 0;
  left: 5%;
}
@keyframes photo{
  0%{ opacity: 0;}
  15%{ opacity: 1;}
  20%{ opacity: 1;}
  35%{ opacity: 0;}
  100%{ opacity: 0;}
}
.img-area img {
	animation-name: photo;
	animation-duration:25s;
  animation-iteration-count: infinite;
  opacity: 0;
}
.img1 {
  animation-delay: 0s;
}

.img2 {
	animation-delay: 5s;
}
.img3 {
	animation-delay: 10s;
}
.img4 {
	animation-delay: 15s;
}
.img5 {
	animation-delay: 20s;
}
.img-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.img-text h2 {
  font-weight: bold;
  color: #fff;
  font-size: 57px;
  text-shadow: 2px 3px 4px #808080; 
 
}
@media(max-width: 599px) {
  .img-text h2 {
    font-size: 20px;
  }
}
@media(min-width: 599px) and (max-width: 1024px) {
  .img-text h2 {
    font-size: 30px;
  }
}

section {
  margin-left: 5%;
  margin-right: 5%;
  margin-top: 5px
}
/* section h2 {
  border: 2px red solid;
  line-height: 50px;
} */

.top-section-1 p {
  margin-top:30px ;
  line-height: 50px;
  font-size: 25px;
}
@media(max-width: 599px) {
  .top-section-1 p {
    line-height: 24px;
    font-size: 12px;
  }
}
@media(min-width:599px) and (max-width:1023px) {
  .top-section-1 p {
    line-height: 35px;
    font-size: 20px;
  }
  
}

.top-section-1 {
  height: 120px;
}
#section-img1 {
  float: right;
}

.top-section-2-img::before {
  content: '';/*何も入れない*/
  display: inline-block;/*忘れずに！*/
  margin: 0px 3px;
  width: 50px;/*画像の幅*/
  height: 50px;/*画像の高さ*/
  background-image: url(img/soroban.png);
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}
.top-section-2-img::after{
  content: '';/*何も入れない*/
  display: inline-block;/*忘れずに！*/
  margin: 0px 3px;
  width: 50px;/*画像の幅*/
  height: 50px;/*画像の高さ*/
  background-image: url(img/soroban.png);
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}
@media(max-width: 599px) {
  .top-section-2-img::before {
    content: '';/*何も入れない*/
    display: inline-block;/*忘れずに！*/
    margin: 0px 3px;
    width: 30px;/*画像の幅*/
    height: 30px;/*画像の高さ*/
    background-image: url(img/soroban.png);
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
  }
  .top-section-2-img::after{
    content: '';/*何も入れない*/
    display: inline-block;/*忘れずに！*/
    margin: 0px 3px;
    width: 30px;/*画像の幅*/
    height: 30px;/*画像の高さ*/
    background-image: url(img/soroban.png);
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
  }
}
.menu {
  max-width: 600px;
  margin: 10px 5%;
}

.menu p {
  margin: 20px;
  line-height: 50px;
  font-size: 20px;
}

.context {
  background-image: url(img/background1.jpg);
}

label {
  width: 400px;
  display: block;
  margin: 0 0 4px 0;
  padding : 15px;
  line-height: 1;
  color :#fff;
  background : #FF3333;
  cursor :pointer;
}
label:hover {
  opacity: 0.7;
}

@media(min-width: 599px) and (max-width: 1024px){
  label {
    width: 320px;
  }
  section h2 {
    font-size: 20px;
  }
  .menu p {
    line-height: 40px;
    font-size: 15px;
  }
  
}
@media(max-width: 599px) {
  label {
    width: 300px;
  }
  /* section h2 {
    font-size: 18px;
  } */
  .ribbon2 h3 {
    font-size: 15px;
  }
  .ribbon2 {
    width: 300px;
  }
  section h3 {
    font-size: 15px;
  }
  .menu p {
    margin: 18px;
    line-height: 30px;
    font-size: 15px;
  }

  @media(max-width: 320px) {
    .ribbon2 h3 {
      font-size: 12px;
    }
    label {
      width: 280px;
    }
  }



}

input {
  display: none;
}

.menu ul {
  margin: 0;
  padding: 0;
  background : #ffeaea;
  list-style: none;
}

.menu li {
  height: 0;
  overflow: hidden;
  -webkit-transition: all 0.5s;
  -moz-transition: all 0.5s;
  -ms-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
}

#menu_bar01:checked ~ #links01 li,
#menu_bar02:checked ~ #links02 li,
#menu_bar03:checked ~ #links03 li,
#menu_bar04:checked ~ #links04 li,
#menu_bar05:checked ~ #links05 li,
#menu_bar06:checked ~ #links06 li
 {
  height: 180px;
  opacity: 1;
}
.main-poster {
  margin: 60px auto;
  padding: 60px;
  width: 80%;
  background-color: white;
}
.main-poster h1 {
  font-weight: bold;
  position: relative;
  border-bottom: dashed 2px orange;
  z-index: 10;
}
.stem {
  background-image: url(img/poster-back.jpg);
  background-repeat: repeat;
  padding: 30px;
}
.stem h3 {
  text-align: center;
  font-weight: bold;
}
.stem p {
 font-size: 22px;
}

.ninngennryoku {
  margin-top:30px;
  padding: 30px;
  background-image: url(img/poster-back.jpg);
  background-repeat: repeat;
}

.ninngennryoku h3 {
  font-weight: bold;
  text-align: center;
}

.ningen-content {
  display: flex;
  justify-content: space-between;
}

@media(max-width: 1024px) {
  .stem  {
    padding: 0px;
  }
  .reason-content {
    width: 280px;
  }

  .ningen-content {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    
  }

  .ningen-content-1 {
    width: 250px;
    margin: 10px auto;
  }
  .ningen-content-2 {
    width: 250px;
    margin: 10px auto;
  }
  .ningen-content-3 {
    width: 250px;
    margin: 10px auto;
  }
  .ningen-content-4 {
    width: 250px;
    margin: 10px auto;
  }

}

.ningen-content-1  {
  padding: 22px;
  background-color: #FF3333;
  color: white;
  text-shadow: 2px 2px 2px dimgray;
  font-weight: bolder;
  border-radius: 50%;
}
.ningen-content-2  {
  padding: 22px;
  background-color: #FF3333;
  color: white;
  text-shadow: 2px 2px 2px dimgray;
  font-weight: bolder;
  border-radius: 50%;
}
.ningen-content-3  {
  padding: 22px;
  background-color: #FF3333;
  color: white;
  text-shadow: 2px 2px 2px dimgray;
  font-weight: bolder;
  border-radius: 50%;
}
.ningen-content-4  {
  padding: 22px;
  background-color: #FF3333;
  color: white;
  text-shadow: 2px 2px 2px dimgray;
  font-weight: bolder;
  border-radius: 50%;
}

@media(min-width: 1025px) {
  .ningen-content-1 {
    width: 200px;
  }
  .ningen-content-2 {
    width: 200px;
  }
  .ningen-content-3 {
    width: 200px;
  }
  .ningen-content-4 {
    width: 200px;
  }
  .reason-content {
    width: 280px;
  }
}

.reason1 {
  display: flex;
  justify-content: space-between;
}

@media(max-width: 768px) {
  .main-poster {
    margin: 20px auto;
    padding: 20px;
  }
  .reason1 {
    display: block;
  }
  .reason-content {
    padding: 0;
    margin-bottom: 10px;
    width: 100%;
    border-radius: 10px;
  }
  .ningen-content {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    
  }
  
  .ningen-content-1 {
    margin: 10px auto;
  }
  .ningen-content-2 {
    margin: 10px auto;
    height: 188px;
  }
  .ningen-content-3 {
    margin: 10px auto;
  }
  .ningen-content-4 {
    margin: 10px auto;
    height: 188px;

  }
  .ninngen-p {
    display: none;
  }
}
@media(max-width: 599px) {
  .main-poster h1 {
    font-size: 25px;
  }
  .stem h3 {
    font-size: 20px;
  }
  .stem p {
    font-size: 20px;
  }
  .ninngennryoku h3 {
    font-size: 20px;
  }
  .ningen-content p {
    height: 90px;
  }
  .ninngen-p {
    display: none;
  }
}
@media(max-width: 320px) {
  .ninngennryoku {
    padding: 0px;
  }
}


.reason-content {
  padding: 20px;
  margin-right: 10px;
  font-size: 22px;
  font-weight: bold;
  text-shadow: 2px 2px 2px dimgray;
}
.reason-content1{
  background-color: palevioletred;
  color: white;
}
.reason-content2{
  background-color: greenyellow;
  color: white;
}
.reason-content3{
  background-color: orange;
  color: white;
}
.reason-content4{
  background-color: lightblue;
  color: white;
}
/* .main-poster h1::after {
  content: '';
  display: inline-block;
  width: 200px;
  height: 200px;
  background-image: url(img/hatena.png);
  background-size: contain;
  vertical-align: middle;
  position: absolute;
  top: -80px;
  right: 400px;
  transform: rotate3d(1,1,1,45deg);
  z-index: 5;

} */
.main-poster-img {
  display: inline-block;/*忘れずに！*/
  width: 200px;/*画像の幅*/
  height: 200px;/*画像の高さ*/
  vertical-align: middle;
  position: absolute;
  top: -80px;
  right: 400px;
  transform: rotate3d(1,1,1,45deg);
  z-index: 5;
}
.main-poster-span {
  font-weight: bold;
  color: #FF3333;
}
.poster-img {
  width: 80%;
}
@media(max-width: 1023px) {
  .poster-img {
    width: 100%;
  }
}
/* 講座案内 */

.kouza-img {
  position: relative;
}
.kouza-img {
  background-image: url(img/background.jpeg);
}
.kouza-img h2 {
  color: #fff;
  font-size: 80px;
  font-family: sans-serif;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  text-shadow: 1px 2px 3px #808080; 
}
.kouza1 {
  position: absolute;
  bottom: 10%;
  left: 10%;;
}
.kouza2 {
  position: absolute;
  bottom: 10%;
  right: 10%;;
}
@media(max-width: 599px){
  .kouza1 {
    width: 80px;
    height: 80px;
    position: absolute;
    bottom: 10%;
    left: 7%;;
  }
  .kouza2 {
    width: 80px;
    height: 80px;
    position: absolute;
    bottom: 10%;
    right: 7%;;
  }
 .kouza-img h2 {
   font-size: 40px;
 }
}

.shidou-houshin h3 {
  color: #8EB8FF;
  font-weight: bold;
  text-shadow: 3px 3px 3px white;
}

@media(max-width: 599px) {
  .shidou-houshin h3 {
    font-size: 26px;
  }
}

.shidou-houshin p {
  margin-bottom: 10px;
}
.ribbon2 {
  width: 400px;
  display: inline-block;
  position: relative;
  height: 60px;
  line-height: 60px;
  text-align: center;
  padding: 7px 0;
  font-size: 18px;/*フォントサイズ*/
  background: #FF3333;/*背景色*/
  color: #FFF;/*文字色*/
  box-sizing: border-box;
}

.ribbon2 h3 {
  font-weight: bold;
  margin: 0;
  padding: 0 30px;
  border-top: dashed 1px #FFF;/*上の破線*/
  border-bottom: dashed 1px #FFF;/*下の破線*/
  line-height: 46px;
}

.ribbon2:before, .ribbon2:after {
  position: absolute;
  content: '';
  width: 0px;
  height: 0px;
  z-index: 1;
}

.ribbon2::before {
  /*左端の山形*/
  top: 0;
  left: 0;
  border-width: 30px 0px 30px 15px;
  border-color: transparent transparent transparent #fff;
  border-style: solid;
}

.ribbon2::after {
  /*右端の山形*/
  top: 0;
  right: 0;
  border-width: 30px 15px 30px 0px;
  border-color: transparent #fff transparent transparent;
  border-style: solid;
  /* background-image: url(img/background1.jpg); */
}

.table-scroll {
  width: 80%;
  margin: 0 auto;
  overflow: auto; /*スクロールさせる*/
  white-space: nowrap; /*文字の折り返しを禁止*/
}

.table-notscroll {
  width: 300px;
  margin: 30px auto;
  padding: 0.2em 0.5em;
  color: #565656;
  background: #ffeaea;
  box-shadow: 0px 0px 0px 10px #ffeaea;
  border: dashed 2px #ffc3c3;
  border-radius: 8px;
}
.table-notscroll h6 {
  font-weight: bold;
}

@media(min-width:1024px) {
  .table-notscroll-flex {
    width: 80%;
    margin: 10px auto;
    display: flex;
  }
  .table-notscroll h6 {
    font-weight: bold;
    font-size: 22px;
  }
  .table-notscroll p {
    font-size: 20px;
  }
 
}

table {
  table-layout: fixed;
  border-top: 1px solid black;
  border-collapse: collapse;
  width: 80%;
  margin: auto;
  background-color: white;
}
.table1-td {
 border: 1px solid black;
 height: 40px;
}
.ok  {
  background-color: pink;
}
@media(max-width:599px) {
  .table-scroll {
    width: 300px;
    overflow: auto; /*スクロールさせる*/
    white-space: nowrap; /*文字の折り返しを禁止*/
  }
  .table1-td {
    width: 120px;
  }
  /* 以下、スクロールバーを追加 */
  .table-scroll::-webkit-scrollbar{　　
    height: 5px;
   }
   .table-scroll::-webkit-scrollbar-track{
    background: #333;
   }
   .table-scroll::-webkit-scrollbar-thumb {
    background: #999;
   }
}

@media(max-width: 280px) {
  label {
    width: 250px;
  }
  .table-scroll {
    width: 250px;
  }
  .bar {
    width: 280px;
  }
  .hidden-bubble p {
    font-size: 20px;
  }
  .kyoushitucyou-p h3 {
    font-size: 10px;
  }
  .kyoushitucyou-p h5 {
    font-size: 10px;
  }
  .kyoushitucyou-p p {
    font-size: 10px;
  }
  .programing-img2 {
    width: 250px;
    height: 50px;
  }
  .zyuku-img {
    width: 120px;
    height: 45px;
  }

  .programing-img1 {
    width: 200px;
    height: 60px;
  }

}
.table-width {
  border: 1px solid black;
  height: 40px;
 }

 .scroll {
   display: none;
 }

.main-kouza {
  background-image: url(img/background1.jpg);
}

.kyoushitu {
  margin: 30px auto;
  width: 80%;
  display: flex;
  justify-content: space-between;
}

.kyoushitu-img {
  
  width: 400px;
  height: 400px;
}

@media(max-width: 1023px) {
  .kyoushitu {
    margin: 30px auto;
    width: 80%;
    display: block;
  }
  iframe {
    width: 400px;
    height: 400px;
  }
  .kyoushitu-img {
  
    width: 400px;
    height: 400px;
  }
}
@media(max-width: 599px) {
  .kyoushitu {
    margin: 30px auto;
    width: 80%;
    display: block;
  }
  iframe {
    width: 250px;
    height: 250px;
  }
  .kyoushitu-img {
  
    width: 250px;
    height: 250px;
  }
  .table-width {
    width: 280px;
  }
  .scroll {
    display: block;
  }
}

.box15 {
  width: 80%;
  padding: 0.2em 0.5em;
  margin: 0 auto;
  color: #565656;
  background: #ffeaea;
  box-shadow: 0px 0px 0px 10px #ffeaea;
  border: dashed 2px #ffc3c3;
  border-radius: 8px;
}
.box15 p {
  font-size: 25px;
  margin: 0; 
  padding: 0;
}
@media(max-width: 599px){
  .box15 p {
    font-size: 15px;
  }
}

.bubble03 {
  position: relative;
  display: inline-block;
  width: 600px; 
  text-align: center;
  color:#333;
  padding: 25px;
  background-color: white;
  border: 5px solid pink;
  border-radius: 50%;
}
.bubble03:before {
  content: '';
  position: absolute;
  display: block;
  z-index: 1;
  border-style: solid;
  border-color: transparent pink;
  border-width: 10px 0 10px 10px;
  top: 50%;
  right: -11px;
  margin-top: -10px;
}

.bubble03-p {
   text-align: center;
    font-size: 19px;
    position: absolute;
    top: 50%;
    left: 15%;
    transform: translateY(-50%);
    
    
}

.hidden-bubble {
  display: none;
}





@media(min-width: 1024px) {
  .bubble03-p {
    font-size: 22px;
  }
}

@media(max-width: 768px) {
  .bubble03 {
    display: none;
  }
  .kyoushitu-img {
    display: none;
  }
  .hidden-bubble {
    display: block;
  }
  .hidden-bubble p {
    font-size: 20px;
    color: #565656;
    font-weight: bold;
  }
}
/* 関連情報 */

.video1 {
  width: 300px;
  height: 300px;
}

@media screen and (max-width: 599px) and (min-width:320px){
  .zyuku-img {
    width: 132px;
    height: 45px;
  }
  .programing-img2 {
    width: 300px;
    height: 40px;
  }
  .programing-img1 {
    width: 200px;
    height: 60px;
  }
  .kyoushitucyou-img {
    width: 150px;
    height: 150px;
  }
  .kyoushitucyou h5  {
    font-size: 13px;
  }
  .kyoushitucyou h3 {
    font-size: 16px;
  }
  .kyoushitucyou p {
    font-size: 11px;
  }
}

@media screen and (max-width: 768px) and (min-width: 600px){
 .programing-img2 {
   width: 700px;
   height: 120px;
 }

}

@media(min-width: 768px) {
  .programing-p {
    font-size: 30px;
  }
  .kyoushitucyou-img {
    width: 300px;
    height: 300px;
  }
}

@media(max-width: 320px) {
  .kyoushitucyou-img {
    width: 120px;
    height: 120px;
  }
}




.blog-wrapper {
  background-image:  url(img/background.jpeg);
  background-repeat: repeat;
}
.blog {
  width: 70%;
  margin: 0 auto;
  border: 2px solid #f00;
  background-color: white;
  
}
.blog-ul {
  list-style: none;
}

.blog-li {
  
}
blog a {
  font-size: 25px;
  color: #333;
}

.back-to-top {
  position: fixed;
  bottom: 20px;
  right: 20px;

  display: none;
  width: 40px;
  height: 40px;

  background-color: #f0f0f0;
  color: #333;
  opacity: 0.6;

  font-size: 1.6rem;
  line-height: 40px;
  text-align: center;
  text-decoration: none;
}

/* マウスを乗せた時に透明度を変える */
.back-to-top:hover {
  opacity: 1;
}

footer {
  width: 100%;
  height: 120px; 
  text-align: center;
  padding: 50px 0;
  background-color: 	#99CCCC;
}
.footer-text {
  color: #fff;
}



