*{
  padding:0;
  margin:0;
}

body{
  font-family: 'Noto Sans JP', sans-serif;
  color: #000;
  font-size:16px;
  line-height: 1.6em;

}


p{
  color:#000;
}

main{
  background: url('../../img/game/bg.jpg') #fdf49c repeat top left;
  background-attachment: fixed;
}

main .wrapper{
  background: #fdf49c;
  max-width: 1200px;
  margin: 0 auto;
 
}

.container{
  max-width: 1140px;
  margin-bottom: 0;
  
}

.mt-100{
  margin-top:100px;
  display: block;
}

.img-responsive{
  margin:0 auto;
  display: block;
}

.hero {
  background: url('../../img/game/hero-img.jpg') no-repeat top center;

  margin-top: -20px;
  background-attachment: fixed;
  transform: translate(0px, 20px);
  position: relative;
  width: 1920px;
  margin: -20px auto 0;
  max-width: 100%;
}


.note {
  text-align: center;
  color: #ffffff;
  margin-top: -50px;
  float: right;
  position: relative;
  padding:10px 20px;
}



.sec2  h2{
  font-size:3.125em;
  color:#23ac39;
  font-weight: bold;
  text-align: center;
 }

.sec2 .header h2{
 font-size:3.125em;
 color:#23ac39;
 font-weight: bold;
 text-align: center;
}


.sec2 .header p{
  color:#000;
  font-size:2.5em;
   font-weight: bold;
   margin-top: 20px;
   display: block;
   letter-spacing: 1px;
    line-height: 50px;
}

.sec2 .wrap p{
  font-size: 1em;
}

.sec2 .header .quote {
  display: flex;
  gap: 2em;
  align-items: center;
  justify-content: center;

}


.sec2 .message-bubble p {
  font-size: 1.125em;
  margin: 0;
}

.sec2-details{
  display: flex;
  width: 100%;
  justify-content: center;

  gap:1em;
  flex-wrap: wrap;
  margin:40px 0;
}

.sec2-details .item {
  flex: 30%;
  flex-grow: unset;
  position: relative;
  background: #fff;
  border-radius: 50px;
  padding: 20px 30px;
  border: 2px solid #000;
}

.sec2-details .item::after {
  content: url('../../img/game/bubble-tail.png');
  position: absolute;
  bottom: -21px;
  left: 50%;
  right: 0;
}




.sec3{
  margin-top:50px;
}

.sec3 .header p{
  color:#000;
  font-size:2.5em;
   font-weight: bold;
   margin-top:20px;
   display: block;
   letter-spacing: 1px;
}

.sec3 .header .quote {
  display: flex;
  gap: 2em;
  align-items: center;
  justify-content: center;

}

.sec3 .videos{
  display: flex;
  align-items: center;
  justify-content: center;
  gap:1em;
  margin:20px 0;
  flex-wrap: wrap;
}

.sec3 .videos .item {
  flex: 30%;
  flex-grow: unset;
}

.sec3 .wrap p{
  font-size: 1em;
}

.sec3 button.btn.btn-primary.text-center {
  margin: 10px auto;
  display: block;
  padding: 10px 40px;
}

.sec3 h3, .sec2 h3, .sec6 h3{
  color:#000;
  margin-top:0;
  font-size: 1.8em;
  font-weight: bold;
}

.student-block {
  border: 3px solid #777;
  border-radius: 10px;
  position: relative;
  margin-bottom: 15px;
  background: #fff;
}

.student-block .student.boy {
  background: url(../../img/bg-boy-student.png) no-repeat top center /cover;
  padding: 30px;
  border: 1px solid #fff;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}

.student .profile {
  background: #fff;
  padding: 30px 20px;
  border-radius: 10px;
  text-align: center;
}

.student-block .content {
  padding: 40px;
}

.student-block .content p{
  font-size: 1em;
}


.sec4{
 
  margin-top:50px;
}

h4.panel-title a {
  line-height: 25px;
  padding-right:70px;
}

.sec4 .header p{
  color:#000;
  font-size:2.5em;
   font-weight: bold;
   margin-top:20px;
   display: block;
   letter-spacing: 1px;
}

.sec4 .header .quote {
  display: flex;
  gap: 2em;
  align-items: center;
  justify-content: center;

}

 .panel-group .panel{
  background: #d2eefa;
  border-radius: 50px;
  padding: 20px 30px;
  border: 2px solid #000;
  position: relative;
  margin: 20px 0;
}

.panel-heading .accordion-toggle:after {
    content: "もっと見る";
    position: absolute;
    top: 32px;
    right: 20px;
    font-size: 14px;
    color: #ffffff;
    width: 10%;
    background: #1ab2f4;
    text-align: center;
    border-radius: 5px;
}

.panel-heading .accordion-toggle[aria-expanded="true"]:after {
  background: #f60;

}

.panel-title {
    width: 90%;
}

/* .panel-heading .accordion-toggle.collapsed:after {
  transform: rotate(90deg);
} */

.panel-group .panel:nth-child(even):after{
  content: url('../../img/game/bubble-tail1.png');
  position: absolute;
  bottom: -24px;
  left: 80%;
  right: 0;
  
}

.panel-group .panel:nth-child(odd):after{
  content: url('../../img/game/bubble-tail1.png');
  position: absolute;
  bottom: -24px;
  left: 20%;
  right: 0;
  
}

.panel-group .panel:nth-child(odd){
  width: 80%;
 
}

.panel-group .panel:nth-child(even) {
  width: 80%;
  margin-left: 100px;
}

.panel-group .panel-heading + .panel-collapse > .panel-body, .panel-group .panel-heading + .panel-collapse > .list-group {
  border: none;
  background: #fff;
  border-radius: 50px;
  word-break: break-word;
}

.panel-default > .panel-heading{
  background: transparent;
}
.panel-group {
  margin:50px 0;
}

.sec4 #accordion h4 span, .panel-body span{
  color:#0d73c0;
  font-size: 1.25em;
  margin-right: 10px;
}

.click-more-faq{
  cursor: pointer;
}

.sec5{
  
  margin-top:50px;
}

.sec5 .header p{
  color:#000;
  font-size:2.5em;
   font-weight: bold;
   margin-top:20px;
   display: block;
   letter-spacing: 1px;
}

.sec5 .header .quote {
  display: flex;
  gap: 2em;
  align-items: center;
  justify-content: center;

}

.sec5 .course-flow{
  display: flex;
  justify-content: center;
  gap:2em;
  margin: 50px 0;
  flex-wrap: wrap;
}

.sec5 .course-flow span{
  color: #ff6600;
  font-size: 25px;
  font-weight: bold;
  margin-top: 10px;
  display: inline-block;
  line-height: 30px;

}


.sec5 .course-flow .item {
  border: 3px solid #ff6600;
  padding: 20px;
  background: #fff;
  border-radius: 10px;
  flex: 45%;
  position: relative;
  flex-grow: unset;
}

.sec5 .course-flow .item:nth-child(odd)::after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  width: 0;
  height: 0;
  border-bottom: 20px solid transparent;
  border-left: 20px solid #ff6600;
  border-top: 20px solid transparent;
  top: 45%;
  right: -30px;
}

.sec5 .course-flow .item p{
  font-size: 1.125em;
}

.sec5 .course-flow .item .col{
  display: flex;
  align-items: center;
  justify-content: center;
  gap:1em;
  padding:20px 0
}

.sec5 .number {
    font-size: 3em;
    color: #f60;
}

.sec6{
 
  margin-top:50px;
}

.sec6 p{
  font-size: 1.125em;
}

.sec6 .header h4{
  color:#000;
  font-size:2.5em;
   font-weight: bold;
   margin-top:20px;
   display: block;
   letter-spacing: 1px;
}

.sec6 .header .quote {
  display: flex;
  gap: 2em;
  align-items: center;
  justify-content: center;

} 

.sec6 .wrap h2{
  color:#000;
  font-weight: bold;
}

.sec5 a{
  display: inline-block;
}

.sec6 .header a{
  display: inline-block;
}

.sec6 .header span{
  font-size:1em;
}

.sec6 .option-fee {
  border-radius: 100px;
  background: #fff;
  padding: 20px 30px;
  border: 5px solid #000;
  margin: 50px auto;
  width: 640px;
  max-width: 100%;
  text-align: center;
}
.sec6 .option-fee h2 {
  font-size: 5.625em;
  text-align: center;
  color: #000;
  font-weight: bold;
  letter-spacing: 1px;
  margin: 0;
  padding: 0;
}

.sec6 .option-fee h2 span{
  font-size: 0.45em;
}

.sec6 .wrap, .sec3 .wrap, .sec2 .wrap{
  background: #fff;
  padding:20px;
  border-radius: 10px;
  border: 3px solid #ff6600;

}

.sec6 .wrap h2, .sec3 .wrap h2, .sec2 .wrap h2{
 color:#000
}

.modal-content{
  background: #fdf49c  ;
}

.modal-content .close {
  color: #fff;
  opacity: 1;
  padding: 5px;
  background: #f00;
  position: absolute;
  top: -16px;
  right: -16px;
  border-radius: 50%;
}

.hero-img{
  display: block;
}

/*media*/


@media only screen and (max-width: 975px) {
  .hero{
    background: transparent;
  }

  .hero-img{
    display: block;
  }

  .note{
    margin-top:-80px;
  }
}



@media only screen and (max-width: 768px) {
 


.sec2-details .item {
  flex: 48%;
  flex-grow: unset;
}
.sec5 .course-flow .item {
  flex: 100%;

}

.sec5 .course-flow .item:nth-child(odd)::after{
  display: none;
}



main {
  background: transparent
}

.wrapper{
  padding:0
}

.sec3 .videos .item {
  flex: 48%;
  flex-grow: unset;
}
.panel-heading .accordion-toggle:after {
  top: 22px;
  font-size: 12px;
  width: 20%;
}

.panel-group .panel {
  padding: 10px;
  margin: 10px 0;
}

.panel-title {
  width: 75%;
}


  }

@media only screen and (max-width: 600px) {
  .input-form .item {
    width: 100%;
  }

  .sec3 .videos{
    flex-wrap: wrap;
  }

  .sec3 .videos .item {
    flex: 48%;
    flex-grow: unset;
}

.sec2 .header p, .sec3 .header p, .sec4 .header p, .sec5 .header p, .sec6 .header p {
  line-height: 1.2em;
  font-size: 1.8em;
}

.sec2 .header h2 {
  font-size: 2em;
}


.note {

  margin-top: -49px;
  line-height: 15px;
  font-size: 11px;
}

}


@media only screen and (max-width:500px) {

.sec2-details .item {
  flex: 100%;
  flex-grow: unset;
}

.sec3 .videos .item {
  flex: 100%;
  flex-grow: unset;
}

.panel-group .panel:nth-child(odd) {
  width: 100%;
}

.panel-group .panel:nth-child(even) {
  width: 100%;
  margin-left: 0;
}

.sec6 .option-fee h2 span{
  display: block;
}

.sec3 {
  text-align: center;
}

.sec3 .videos .item a {
  display: inline-block;
}



.sec2 .header .quote {
  display: flex;
  gap: 1em;

}

main .wrapper{
  padding:0;
}


}