@charset "utf-8";
/* CSS Document */

html, html * {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
  user-select: none;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
}

* {
  padding: 0px;
  margin: 0px;
}

body {
  background-image: url("image/bg_01.png");
  background-attachment: fixed;
  background-repeat: repeat-x;
  background-position:center;
  margin-left: auto;
  margin-right: auto;
  animation: fadeIn 10s ease 0s 1 normal;
  -webkit-animation: fadeIn 1.5s ease 0s 1 normal;
}

/* 画質クリアChrome対応 */

img{
  -webkit-backface-visibility: hidden;
}

.style-main{
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.rw:before, .rw:after{
  content: "";
  display: table;
}

.rw:after{
  clear: both;
}

.cl{
  width: 100%;
}

/* top visual change sp */

.sp_bg{
  display: block;  
}
.pc_bg{
  display: none;
}

/* Hide in thumbnails */

.thumbnail{ 
  display: none;
}

.bx1{  
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  margin-top: -10px;
}

.bx2{
  background-image: url("image/bx_bg.png");
  background-position:center;
  background-attachment: fixed;
  margin-left: auto;
  margin-right: auto;
  padding: 10px 3px;
  text-align: center;
}

.bx2_a{
  background-image: url("image/bx_bg2.png");
  background-position:bottom;
  background-attachment: fixed;
  margin-left: auto;
  margin-right: auto;
  padding: 10px 3px;
  text-align: left;
}

.bx2_b{
  background-image: url("image/bx_bg3.png");
  background-position:bottom;
  background-attachment: fixed;
  margin-left: auto;
  margin-right: auto;
  padding: 10px 3px;
  text-align: left;
}

.parent{
  display: flex;
  flex-direction: column;
}

.child_1{
  order: 2;
}
.child_2{
  order: 1;
}

.bx3{
  background-image: url("image/bx_bg.png");
  background-position:center;
  background-attachment: fixed;
  margin-left: auto;
  margin-right: auto;
  padding: 50px 10px;
  text-align: center;
}

.bx6{
  background-color: #fff;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  padding: 8% 0px;
  overflow:hidden;
}

.bx6 img{
  padding: 10px 5%; 
}

.bx0{
  margin-left: auto;
  margin-right: auto;
  margin-top: 30px;
  margin-bottom: 30px;
  width: 500px;
  padding: 20px 0px;
  text-align: center;
  display: block;
}

span{
  display: inline-block;
}

/* ========================
   SNS sp
======================== */

.sns {
  background-color: #fff;
  padding: 80px 0 100px 0;
  text-align: center;
}

.sns__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
  gap: 24px;
}

.sns__item img {
  width: 60px;
  height: auto;
  opacity: 0.8;
  transition: opacity 0.2s ease;
}

.sns__item a:hover img {
  opacity: 1;
}

/* ========================
   Program Section
======================== */

.program-info {
  background-color: #fff;
  padding: 32px 20px 40px;
  text-align: center;
}

.program-info__inner {
  max-width: 960px;
  margin: 0 auto;
}

/* bright */

.hov-bright {
  transition: filter 0.2s ease;
}

.hov-bright:hover {
  filter: brightness(1.50);
}

/* ========================
   youtube
======================== */

.youtube-wrap {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}
 
.youtube-wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*　top back :JQuery　*/

.page-top {
  position: fixed;
  bottom: 10px;
  right: 20px;
  padding: 20px 10px 20px 10px;
  background:#00DBFF;
  border-radius: 60px;
  font-size: 15px;
  ms-filter: "alpha(opacity=80)";
  moz-opacity: 0.8;
  khtml-opacity: 0.8;
  opacity: 0.8;
  text-decoration: none;
  color: #FFF;
}

/* top fade-in */

@keyframes fadeIn {
  0% {
    opacity: 0
  }
  100% {
    opacity: 10
  }
}

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0
  }
  100% {
    opacity: 1
  }
}

/* fade animation 1 bottom in */

.animation {
  opacity : 0;
  visibility: hidden;
  transition: 0.5s;
  transform: translateY(300px);
}

.active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/*fade animation 2 left in */

.animation2 {
  opacity : 0;
  visibility: hidden;
  transition: 0.7s;
  transform: translateX(-1000px);
}

.active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}


@keyframes yura {
  0% {
      transform: translate(0,0px);
    }

  100% {
      transform: translate(0,-15px)
    }
}

/* img banner link */

.waku a img {
  border:2px solid #D4ECFF;
 }
.waku a:hover img {
  border:2px solid #FF9331;
 }

 /* Header and Footer sp  */
    .pc{
        display: block;
      }
    .sp{
        display: none;
      }
 
 /* Header and Footer pc  */  
 @media screen and (max-width: 1240px) {
    .pc{
        display: none;
      }
    .sp{
        display: block;
      } 
  }

                                            /* pc */
@media (min-width: 900px){

body {
  padding: 0px;
  animation: fadeIn 10s ease 0s 1 normal;
  -webkit-animation: fadeIn 2s ease 0s 1 normal;
  max-width: 1500px;
}

.cl-tab {
  width: 50%;
  float: left;
  padding: 0px 0px;
}
   
/*top visual change pc*/

.sp_bg {
  display: none;  
}
.pc_bg {
  display: block;
}

.bx1{  
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  margin-top: -10px;
  margin-bottom: -10px;
}

.bx2_a {  
  margin-left: auto;
  margin-right: auto;
  padding: 30px 20px;
  text-align:left;
}

.bx2_b {  
  margin-left: auto;
  margin-right: auto;
  padding: 30px 20px;
  text-align:left;
}

.bx3 {
  margin-left: auto;
  margin-right: auto;
  padding: 100px 180px;
  text-align: center; 
}

.bx6 {
  padding: 9% 0 5%;
}

.bx6 img{
  padding: 30px 18% 20px;
  }

.bx0 {
  margin-left: auto;
  margin-right: auto;
  margin-top: 50px;
  margin-bottom: 50px;
  width: 800px;
  padding: 10px 0px;
  text-align: center;
  display: block;
}

/* ========================
   SNS pc
======================== */

.sns { 
    padding: 150px 0 20px 0;
  }

  .sns__item img {
    width: 80px;
  }
  
/* ========================
   Program Section pc
======================== */

 .program-info {
    padding: 60px 20px 80px;
  }
  
/* flexboxを横に配置 */
.parent{ 
  display: flex;
  flex-direction: row;
}

.child_1{
  order: 1;
}
.child_2{
  order: 2;
}

}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  border: 0;
  white-space: nowrap;
}