@charset "utf-8";

@media screen and (max-width: 768px) {
  body {
    letter-spacing: 0;
    min-height: auto;
  }

  /*----------------------------------------
 page
----------------------------------------*/

  .page {
    width: 100%;
  }

  .footer_container,
  .page_inner {
    width: 96%;
    margin: 0 2%;
    padding: 0 10px;
  }

  /*----------------------------------------
 headline
----------------------------------------*/

  .page h3 {
    font-size: 25px;
  }

  .page h3 span {
    font-size: 40px;
  }

  .page h4 {
    font-size: 20px;
  }

  /*----------------------------------------
    section
  ----------------------------------------*/

  .sec01_bg {
    flex-wrap: wrap-reverse;
    padding: 20px;
    margin: 0 calc(50% - 50vw);
    background: none;
  }

  .sec01_bg .img_left {
    left: 0;
    top: 0;
    margin-bottom: 0;
  }

  .sec01_bg .W_58 {
    background: #f7f4eb;
    padding: 20px;
  }

  .sec05_bg {
    padding-top: 0;
  }

  .scroll_box {
    width: auto;
    height: auto;
    overflow-x: scroll;
  }

  .scroll_box .W_21 {
    margin: 0 2% 10px;
    flex-shrink: 0;
  }

  .scroll_box::-webkit-scrollbar {
    height: 14px;
    margin: 10px 0 0;
  }

  .scroll_box::-webkit-scrollbar-thumb {
    background: #d2b48c;
    border-radius: 7px;
  }

  .scroll_box::-webkit-scrollbar-track {
    background: #f5deb3;
    border-radius: 7px;
  }

  .sec06_bg {
    padding: 20px;
  }

  .student_box {
    width: 100%;
  }

  .student_box h4 {
    font-size: 25px;
  }

  .student_box h4 span {
    font-size: 40px;
  }

  .student_box h5 {
    font-size: 20px;
  }

  .student_box_bg {
    padding: 20px;
    flex-wrap: wrap;
    justify-content: center;
  }

  .student_movie {
    position: relative;
    top: -5px;
    right: -5px;
    margin: 50px 0 0;
  }

  .student_box_bg.left,
  .student_box_bg.right {
    border-radius: 30px;
  }

  /*----------------------------------------
  faq
  ----------------------------------------*/

  .faq_item {
    width: 100%;
  }

  .faq_q {
    font-size: 18px;
    padding-right: 0;
  }

  .contact_box iframe {
    margin: 60px 0 0;
  }

  /*----------------------------------------
 ボタン
----------------------------------------*/

  .cta_btn {
    justify-content: center;
  }

  .cta_btn a {
    font-size: 18px;
    text-align: center;
    padding: 15px 30px;
    width: 100%;
  }

  /*----------------------------------------
 footer
----------------------------------------*/

  .footer {
    padding: 30px 0 10px;
  }

  h3.footer_link_title {
    text-align: center;
  }

  .footer_link li {
    text-align: center;
  }

  .footer_col_box {
    justify-content: center;
  }

  .footer_logo {
    margin: 20px 0 0;
  }

  /*----------------------------------------
    その他
  ----------------------------------------*/

  .js-scrollable {
    position: relative;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x !important;
    direction: ltr;
  }

  @keyframes scroll-hint-appear {
    0% {
      transform: translateX(-40px);
      opacity: 0;
    }
    10% {
      opacity: 1;
    }
    50%,
    100% {
      transform: translateX(40px);
      opacity: 0;
    }
  }

  /*----------------------------------------
 pc/sp
----------------------------------------*/

  .pc {
    display: none;
  }

  .sp {
    display: block;
  }
}
