@charset "UTF-8";

/*▽▽▽▽▽▽---------- SP ----------▽▽▽▽▽▽*/
@media only screen and (max-width: 768px) {
  .spEle {
    display: block;
  }

  br.pcEle {
    display: none;
  }

  .sp-center {
    text-align: center;
  }
  /*--------------------- #page_top ---------------------*/
  #page_top {
    right: 15px;
    bottom: 58px;
  }

  /*--hearder--*/
  .header h1 img {
    max-width: 160px;
  }

  .menu_trigger {
    height: 35px;
    right: 20px;
    top: 25px;
    width: 45px;
  }

  .menu_trigger::before {
    height: 81px;
    width: 81px;
  }

  .menu_trigger span:nth-of-type(2) {
    top: 16px;
  }

  .menu_trigger.active span:nth-of-type(3) {
    transform: translateY(-19px) rotate(45deg);
  }

  .ham_menu_inr {
    padding: 82px 15px;
  }

  /*--footer--*/
  .footer {
    padding: 40px 0 10px;
  }
  .footer-logo {
    margin-bottom: 30px;
    padding-bottom: 25px;
  }

  .footer-clm02 {
    justify-content: center;
  }

  .footer-clm02-inr {
    margin-bottom: 15px;
  }

  /*--contents--*/
  .mv-box {
    border: 15px solid #82cedf;
  }

  .mv-txt {
    width: 90%;
  }

  .mv-txt .jp {
    font-size: 32px;
  }

  .mv-txt .en {
    font-size: 20px;
  }

  .concept-box {
    padding: 75px 0 50px;
  }

  .concept-tit {
    bottom: inherit;
    top: 0;
  }

  .concept-left-box {
    box-sizing: border-box;
    padding: 0 0 0 35px;
    width: 100%;
  }

  .concept-tit01 {
    font-size: 24px;
    margin-bottom: 30px;
  }

  .concept-right-box {
    width: 100%;
  }

  .btm60 {
    margin-bottom: 30px;
  }

  .voice-box {
    margin-right: 0;
  }

  .basic-box {
    padding: 50px 0;
  }

  .voice-tit,
  .numbers-tit,
  .requirements-tit,
  .contact-tit {
    margin-bottom: 30px;
    padding: 15px 0;
  }

  .basic-box.education-zone {
    padding-top: 70px;
  }

  .education-tit {
    margin-bottom: 20px;
    transform: translate(0, -24px);
  }

  .education-tit span {
    font-size: 20px;
  }

  .education-box {
    padding: 0 20px;
  }

  .clm02-inr {
    margin-bottom: 40px;
    width: 98%;
  }

  .blue-box {
    padding: 0 20px 30px;
  }

  .point-number {
    font-size: 40px;
    transform: translate(0, -20px);
  }

  .education-tit01 {
    font-size: 18px;
  }

  .number-clm02-inr {
    width: 96%;
  }

  .white-box01 {
    padding: 30px 20px;
  }

  .number-height {
    height: auto;
    margin-bottom: 20px;
  }

  .number-tit {
    font-size: 25px;
  }

  .number-txt {
    font-size: 20px;
  }

  .number-txt span {
    font-size: 60px;
  }

  .btm40 {
    margin-bottom: 20px;
  }

  .number01-clm02-inr:nth-child(1),
  .number01-clm02-inr:nth-child(2) {
    margin-bottom: 20px;
    width: 96%;
  }

  .btm100 {
    margin-bottom: 30px;
  }

  .btm10 {
    margin-bottom: 20px;
  }

  .welfare-tit {
    font-size: 58px;
  }

  .welfare-box {
    padding: 20px 10px 35px;
  }

  .welfare-tit01 {
    font-size: 26px;
    margin-bottom: 20px;
  }

  .welfare-box01 {
    padding: 25px 7px;
  }

  .dot-ul {
    text-align: left;
  }

  .basic-box.faq-box {
    padding-top: 0;
  }

  .requirements-box {
    padding: 50px 0;
  }

  .requirements-box-inr {
    padding: 0;
  }

  .table01 th,
  .table01 td {
    display: block;
    padding: 20px 15px;
    width: 100%;
  }

  .contact-btn {
    margin-bottom: 15px;
  }

  .width640 {
    max-width: 400px;
  }

  .voice-width {
    width: 100%;
  }

  .voice-box-inr {
    background-image: none;
    padding: 20px 10px;
  }

  .voice-box-inr.voice-bg01,
  .voice-box-inr.voice-bg03 {
    background-color: #82cedf;
  }

  .voice-box-inr.voice-bg02,
  .voice-box-inr.voice-bg04 {
    background-color: #f7c45a;
  }

  .voice-tit01 {
    font-size: 18px;
    margin-bottom: 15px;
    text-align: center;
  }

  .voice-txt {
    font-size: 14px;
    padding-left: 0;
    text-align: right;
  }

  .voice-txt::before {
    content: none;
  }

  .voive-q {
    font-size: 16px;
  }

  /*--faq--*/
  .faq-tit {
    font-size: 22px;
  }

  .faq-tit::before {
    height: 17px;
    width: 10px;
  }

  .faq-box-inr {
    padding: 25px 20px;
  }

  .faq-txt,
  .answer-txt {
    font-size: 16px;
    margin-bottom: 45px;
    padding: 15px 20px 15px 60px;
  }

  .faq-txt::before,
  .answer-txt::before {
    font-size: 30px;
    height: 47px;
    left: 15px;
  }

  .faq-txt::after,
  .answer-txt::after {
    height: 23px;
    bottom: -23px;
    width: 40px;
  }

  .faq-txt::after {
    right: 15px;
  }

  .answer-txt::after {
    left: 15px;
  }
}

@media only screen and (max-width: 480px) {
  .tab-group {
    margin-bottom: 35px;
  }

  .tab-group li {
    margin-bottom: 15px;
    width: 96%;
  }

  .requirements-tit03 {
    padding: 30px 0;
  }
}
