@charset "UTF-8";
/* CSS Document */
@media (max-width: 959px) {
  .fade_up {
    transform: translate(0px, 30px);
    transition-duration: 1s;
  }
  .mv {
    opacity: 1.0;
    transform: translate3d(0, 0, 0);
  }
  .menu__single {
    font-size: 1.4rem;
  }
  .catch_copy {
    font-size: max(2.3vw, 1.60rem);
  }
  .catch_bigtext {
    font-size: 3.6vw;
  }
  .sub_copy_box {
    font-size: 1.4rem;
  }
  .fukidasi {
    top: auto;
    bottom: 85%;
    right: -2%;
  }
  .top01 {
    width: 90%;
  }
  .top02 {
    width: 90%;
  }
  .com_title {
    font-size: 2.4rem;
  }
  .three_box {
    padding: 5% 5%;
  }
  .top03 {
    margin-right: 5%;
  }
  .three_title {
    font-size: max(2.5vw, 1.8rem);
  }
  .top03_list {
    font-size: max(2.5vw, 1.8rem);
    padding: 0.5em 0.7em 0.5em 50px;
    margin-bottom: 15px;
    &::before {
      left: 10px;
      background-size: 30px;
      width: 30px;
      height: 30px;
    }
  }
  .btn01 {
    min-width: 240px;
    height: 64px;
    &::after {
      background-size: 35px;
      width: 35px;
      height: 35px;
    }
  }
  .top04 {
    width: 90%;
  }
  .formula_text {
    border-radius: 15px;
    font-size: max(2.5vw, 1.8rem);
  }
  .formula_circle {
    font-size: max(3.1vw, 2rem);
  }
  .top05 {
    width: 90%;
    display: block;
    position: relative;
    padding-bottom: calc(max(5%, 45px) + 64px);
  }
  .top05_textbox {
    width: 100%;
    .btn01 {
      position: absolute;
      bottom: 0;
      left: 0;
    }
  }
  .top05_text {
    margin: 20px 0 30px;
  }
  .top05_table_wrap {
    width: 100%;
    margin-left: 0;
  }
  .foot_boy {
    margin: 0 0 -5.4vw 38%;
    width: 51.63vw;
  }
  .footer-left {
    margin-bottom: 50px;
  }
  .foot_menu_wrap {
    display: block;
    margin-bottom: 0;
  }
  .foot_menu {
    display: block;
  }
  .foot_menu_privacy {
    text-align: left;
  }
  .foot_menu_single {
    margin-bottom: 20px;
  }
  .footer-skew {
    padding: 18% 5% 20px;
  }
  /* //////////////// tab-about//////////////////*/
  .tuyomi_list_wrap {
    grid-template-columns: repeat(2, 1fr);
  }
  .tuyomi_list {
    padding: 7% 7%;
    min-height: 180px;
  }
  .about02_box {
    width: 90%;
  }
  .map {
    aspect-ratio: 4/3;
  }
  .about01 {
    width: 90%;
  }
  .about03 {
    width: 90%;
  }
  /* //////////////// tab-lesson//////////////////*/
  .lesson01 {
    margin-left: 5%;
  }
  .lesson02 {
    margin-right: 5%;
  }
  .lesson_illust {
    left: 90%;
  }
  /* //////////////// tab-newslist//////////////////*/
  .newslist_wrap {
    width: 90%;
    grid-template-columns: repeat(1, 1fr);
  }
  .news_eyecatch {
    width: max(15%, 150px);
  }
}