/* PCメニュー */
.header-original {
  width: 100%;
  position: relative;
  z-index: 1000;
  margin: 0 auto;
}

.header-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 30px 50px 30px 30px;
  background-color: #fff;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

/* ロゴ */
.site-logo img {
  max-height: 60px;
  height: auto;
}

/* ハンバーガーはPCでは非表示 */
.hamburger-overlay {
  display: none;
}

/* ナビゲーション PC用 横並び */
.nav-overlay__list {
  display: flex;
  gap: 30px; /* メニュー間の間隔 */
  list-style: none;
  margin: 0;
  padding: 0;
}

.nav-overlay__list li {
  display: inline-block;
}

.nav-overlay__link {
  text-decoration: none;
  color: #000;
  font-weight: 600;
  font-size: 19px;
  padding: 5px 0;
  transition: color 0.3s ease;
}

.nav-overlay__link:hover {
  color: #0073e6; /* ホバー色 */
}

/* SPメニュー */
@media screen and (max-width: 1150px) {
  
    /* overlay-styles.css */
    .hamburger-overlay {
      display: block;
      position: fixed;
      top: 20px;
      right: 20px;
      z-index: 1000;
      width: 48px;
      height: 48px;
      border: none;
      background: transparent;
      cursor: pointer;
    }

    .hamburger-overlay__line {
      position: absolute;
      left: 11px;
      width: 26px;
      height: 2px;
      background-color: #333;
      transition: all .6s;
    }

    .hamburger-overlay__line:nth-of-type(1) { top: 14px; }
    .hamburger-overlay__line:nth-of-type(2) { top: 23px; }
    .hamburger-overlay__line:nth-of-type(3) { top: 32px; }

    .hamburger-overlay.active .hamburger-overlay__line {
    background-color: #fff;
    }

    .hamburger-overlay.active .hamburger-overlay__line:nth-of-type(1) {
    transform: translateY(9px) rotate(-45deg);
    }
    .hamburger-overlay.active .hamburger-overlay__line:nth-of-type(2) {
    opacity: 0;
    }
    .hamburger-overlay.active .hamburger-overlay__line:nth-of-type(3) {
    transform: translateY(-9px) rotate(45deg);
    }

    .nav-overlay {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100vh;
      background-color: rgba(0, 0, 0, 0.95);
      visibility: hidden;
      opacity: 0;
      transition: all .6s;
      z-index: 900;
    }

    .nav-overlay.active {
      visibility: visible;
      opacity: 1;
    }

    .nav-overlay__content {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 100%;
      text-align: center;
    }

    .nav-overlay__list {
      margin: 0;
      padding: 0;
      list-style: none;
      flex-direction: column;
    }

    .nav-overlay__item {
      opacity: 0;
      transform: translateY(20px);
      transition: all .6s;
    }

    .nav-overlay.active .nav-overlay__item {
      opacity: 1;
      transform: translateY(0);
    }

    .nav-overlay.active .nav-overlay__item:nth-child(1) { transition-delay: 0.1s; }
    .nav-overlay.active .nav-overlay__item:nth-child(2) { transition-delay: 0.2s; }
    .nav-overlay.active .nav-overlay__item:nth-child(3) { transition-delay: 0.3s; }
    .nav-overlay.active .nav-overlay__item:nth-child(4) { transition-delay: 0.4s; }

    .nav-overlay__link {
      display: inline-block;
      padding: 20px;
      color: #fff;
      font-size: 24px;
      text-decoration: none;
      transition: color .3s;
    }

    .nav-overlay__link:hover {
      color: #4a90e2;
    }
}

.l-header__inner .js-hamburger-menu{
  display: none!important;
}

/* 背景画像入れ替えここから */
#dynamic-bg {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  z-index: 0;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 100%;
  height: 900px;
  margin: 0 auto;
}

#dynamic-bg img.active {
  opacity: 1;
  z-index: 1;
}

section {
  min-height: 100vh;
  display: grid;
  place-items: center;
  font-size: 2rem;
  color: #fff;
}
/* 元のセクション内のimgは非表示に */
.epb-section-divider__background-image img {
  display: none;
}
@media screen and (max-width: 600px) {
  .epb-section-divider__background-image img {
    display: block;
  }
}

/* 背景画像入れ替えここまで */


/* 保護者の皆様へボタンここから */
.circle-btn {
  display: block;
  position: fixed;
  bottom: 5%;
  left: 5%;
  width: clamp(150px, 20vw, 200px);
  height: clamp(150px, 20vw, 200px);
  text-decoration: none;
  z-index: 10;
}

.circle-btn__rotate{
  position: absolute;
  top: -10%;
  left: -10%;
  width: 100%;
  height: 100%;
  transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1); 
}

.circle-btn__rotate img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  animation: spin 10s linear infinite;
}

.circle-btn__inner {
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  z-index: 2; 
  width: 80%;
  height: 80%;
}

.circle-btn__txt {
  font-size: clamp(12px, 2vw, 20px);
  text-align: center;
  color: #ffee00;
}

@keyframes spin {
  0%   { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.circle-btn:hover .circle-btn__rotate {
  transform: scale(1.1); /* 1.2倍に拡大 */
}

@media screen and (max-width: 600px) {
  .circle-btn{
    display: none;
  }

  header{
    display: none!important;
  }

  .contact_privacy{
    margin-left: 0!important;
  }
}

/* 保護者の皆様へボタンここまで */


.l-header__inner{
  padding: 30px 50px 30px 30px!important;
}

/* フッター調整用ここから */
.l-footer{
  position: absolute;
  bottom: 0;
  z-index: 1;
  width: 100%;
}

.epb-section-divider__inner{
  z-index: 1!important;
}
/* フッター調整用ここまで */

.l-content{
  padding: 0!important;
}

.epb-section-divider__overlay{
  background-color: #ffee00;
}

.bg1{
  background-color: rgb(255 255 255 / 50%);
  padding: 10px;
}

.list_stley1{
  padding-left: 1rem!important;
  list-style: none!important;
}

.smf-item__col--label{
  padding-bottom: 0!important;
}

.smf-item{
  padding: 0!important;
}

.smf-button-control__control{
  border-radius: 10px!important;
  width: 100%!important;
}

.smf-checkbox-control__control{
    background-color: #ffee00;
    border: solid 1px #000;
    border-radius: 5px;
}

.contact_privacy{
  margin: 20px 0px 40px 20px!important;
}


@media screen and (max-width: 600px) {
  .contact_privacy{
    margin-left: 0!important;
  }
}

.contact_privacy a{
  border-bottom: solid 1px #3a89ca;
  color: #3a89ca!important;
}

.epb-box__headline{
  padding: 5px 15px!important;
}

.is-position-epb-sp-top-center{
  
}

@media screen and (min-width: 600px) {
   
  .smf-item__label{
    text-align: left;
  }

  .smf-button-control__control{
    width: 100%;
  }
}

@media screen and (min-width: 600px) and (max-width: 960px) {
  .epb-column{
    width: auto!important;
    --epb-column-width: unset!important;
  }

  .epb-advanced-button{
    width: 100%;
  }

  .epb-section-divider__inner{
  }

  .is-layout-flex{
    flex-direction: column!important;
    flex-wrap: nowrap!important;
    justify-content: center!important;
    align-items: center!important;
  }

  .l-header-row .l-content{
    background-color: transparent;
  }

  .l-header .site-logo{
  }

  .header-site-branding__link{

    position: absolute!important;
    top: 100%!important;
    left: 50%!important;
    transform: translate(-50%, -50%)!important;
    -webkit-transform: translate(-50%, -50%)!important;
    -ms-transform: translate(-50%, -50%)!important;
    display: block!important;
  }

   .l-header .site-logo img{
    height: auto!important;
   }

  .epb-section-divider__content{
    width: 90%!important;
    margin: 0 auto!important;

  }
}

.l-content{
  background: #ffee00!important;
}

.l-contents{
  background: #ffee00!important;
}

@media screen and (min-width: 960px) {
  .l-header__inner{
    background-color: #FFF;
  }
}

#dynamic-bg {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  z-index: 0;
  pointer-events: none;
}

#bg-fader {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
  background-size: cover;
  background-position: center;
  transition: opacity 0.8s ease;
}

#mask-layer {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 2;
  pointer-events: none;
}

/* メニューSP */
.header_text{
  font-size: 20px;
  font-weight: 700;
  text-align: center;
  margin-top: 80px;
  margin-bottom: 20px;
}

.js-hamburger-menu{
  border-radius: 10px!important;
}

.hamburger-menu-trigger span{
  height: 3px!important;
}

.hamburger-menu-floating{
  visibility: visible!important;
  transform: translateX(0)!important;
  position: fixed!important;
  top: 10px!important;
  right: 10px!important;
}

.hamburger-menu-floating.is-active{
  background-color: transparent!important;
  box-shadow: none!important;
}

.js-hamburger-menu .hamburger-menu-trigger span{
  background-color: #FFF!important;
}

.js-hamburger-menu.is-active .hamburger-menu-trigger span{
  background-color: #000!important;
}

.hamburger-close-menu{
  display: none;
}

.hamburger-menu-floating.is-active .hamburger-menu-trigger span:nth-of-type(1), .hamburger-menu-floating-fixed.is-active .hamburger-menu-trigger span:nth-of-type(1){
  transform: translate(0, 7px) rotate(-45deg)!important;
}

.drawer-menu.is-slide.is-hamburger-menu-right-sp.is-active{
  width: 100vw!important;
  left: 0!important;
}

.drawer-menu__inner{
  padding: 20px!important;
}

@media screen and (max-width: 960px) {
  .header-site-branding__link{
    position: absolute!important;
    top: 20px!important;
    left: 20px!important;
    width: 280px!important;
    transform: translate(0%, 0%) !important;
    -webkit-transform: translate(0%, 0%) !important;
  }

  .l-header-custom, .l-header-default, .l-header-center, .l-header-row{
    display: none;
  }
}

.menu-menu-sp-container{
  width: 90%;
  margin: 0 auto;
}

.drawer-menu__inner .drawer-menu__nav .menu-item a{
  font-size: 16px!important;
  font-weight: 700!important;
}

.drawer-menu.is-slide.is-hamburger-menu-right-sp.is-active{
      background-color: #ffee00;
}

/* form */
.smf-text-control__control{
  background-color: #f2f2f2!important;
  border-radius: 10px!important;
}

.smf-textarea-control__control{
  background-color: #f2f2f2!important;
  border-radius: 10px!important;
}

.smf-checkbox-control__control{
  background-color: #ffee00!important;
  border: solid 1px #000!important;
}

#wpadminbar{
  display: none;
}

.header-menu > .menu-item > a span{
  font-size: 16px;
}

.epb-section-divider__content{
  padding: 0!important;
}

/* 調整用 */
.mb40{
  margin-bottom: 40px;
}

.mb60{
  margin-bottom: 60px;
}

.wide-sp{
  padding: 0!important;
}

.t-l{
  text-align: left!important;
}

#mask-layer{
  /* display: none; */
}