.elementor-4412 .elementor-element.elementor-element-4a6338f0{--display:flex;--overflow:hidden;--padding-top:50px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4412 .elementor-element.elementor-element-5ef6d7b.elementor-element{--align-self:center;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}@media(max-width:767px){.elementor-4412 .elementor-element.elementor-element-4a6338f0{--padding-top:50px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4412 .elementor-element.elementor-element-5ef6d7b{width:100%;max-width:100%;}.elementor-4412 .elementor-element.elementor-element-1d40904 > .elementor-widget-container{margin:40px 0px 0px 0px;}.elementor-4412 .elementor-element.elementor-element-1d40904 img{width:150px;}}/* Start custom CSS for html, class: .elementor-element-537c2f7 */@media (max-width: 767px) {

  .spnav-submenu {
    display: none;
    padding:10px 0px 20px;
  }
  
.spnav-title {
  color: #221B63;

  font-size: 15px;
  font-weight: 600;
}


  .spnav-toggle {
    color: #221B63;
    border-top: 2px solid #232584;
    height: 50px;
    font-size: 14px;
    font-weight: 600;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    width: 100%;
  }

  .spnav-toggle .plus {
    font-size: 24px;
    color: #232584;
    transition: transform 0.3s ease;
  }

  .spnav-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    padding-top: 10px;
    margin-bottom:20px;
  }

  .spnav-grid-button {
  display: flex;
  align-items: center;
  justify-content: flex-start; /* ← 左寄せ */
  text-align: left;            /* ← テキスト自体の左寄せ */
  background-color: #232584;
  color: #fff;
  font-size: 12px;
  font-weight: 500;
  padding: 10px 12px;          /* 左右に余白追加 */
  border-radius: 2px;
  text-decoration: none;
  position: relative;
  padding-right: 30px;         /* 矢印用の余白も維持 */
}


/* ボタン個別色 */
.spnav-grid-button.private {
  background-color: #221E61;
}

.spnav-grid-button.beginner {
  background-color: #2F5CAE;
}

.spnav-grid-button.kids {
  background-color: #3A9BFB;
}

  .spnav-grid-button:hover {
    color: #fff; /* ← フォント色変わらないよう固定 */
  }

  .spnav-grid-button .icon {
    width: 20px;
    height: 20px;
    background: #fff;
    border-radius: 50%;
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: transform 0.3s ease;
  }

  .spnav-grid-button .icon img {
    width: 6px;
    height: auto;
    display: block;
  }

  .spnav-grid-button:hover .icon {
    transform: translate(6px, -50%);
  }

  .spnav-grid.info {
      padding-top:20px;
    border-top: 2px solid #211D5F;
  }

  .spnav-grid.info .spnav-grid-button {
        justify-content: flex-start; 
    background-color: #fff;
    color: #211D5F;
    border: 1px solid #211D5F;
    padding: 8px 15px;
  }

  .spnav-grid.info .spnav-grid-button:hover {
    color: #211D5F;
  }

  .spnav-grid-button i {
    font-size: 20px;
  }

  .spnav-services {
    display: block;
  }

  .spnav-buttons {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }

  .spnav-button {  font-weight: 500;

    font-size: 12px;
    padding: 12px 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-radius: 30px;
    background-color: #3399FF;
    color: #fff;
    text-decoration: none;
    box-sizing: border-box;
  }

  .spnav-button:hover {
    color: #fff; /* ← ホバー時の文字色変化なし */
  }

  .spnav-button .icon {
    width: 20px;
    height: 20px;
    background: #fff;
    border-radius: 50%;
    margin-left: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: transform 0.3s ease;
  }

  .spnav-button .icon img {
    width: 6px;
    height: auto;
    display: block;
  }

  .spnav-button:hover .icon {
    transform: translateX(6px);
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-5ef6d7b */.sp_menu .service-button {
  width: 520px;
  max-width: 100%;
  height: 70px;
  background: #3399FF;
  color: #fff;
  border-radius: 8px;
  padding: 12px 20px;
    font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  box-sizing: border-box;
  cursor: pointer;
  transition: none;
}/* End custom CSS */