@charset "UTF-8";

@media screen and (max-width: 767px) {

  /* float youtube ----------*/
  #float-yt {
    max-width: 400px;
    width: 90%;
    height: auto;
    aspect-ratio: 16 / 9;
    padding: 0 2px;
    position: fixed;
    bottom: 20px;
    right: 50%;
    transform: translateX(50%);
  }

  #float-yt-close {
    top: -20px;
  }


  /* mainVisual -------------*/
  #section_top .catch {
    font-size: 46px;
    padding-right: 0;
    line-height: 1.4;
  }

  #section_top .catch span {
    display: none;
  }

  /* vision     -------------*/
  .visionWrap {
    padding: 40px 0 64px;
    background-position: center;
  }

  .visionWrap img {
    margin-bottom: 32px;
  }

  .visionWrap .enTit {
    font-size: 28px;
    letter-spacing: 1.4px;
  }

  .innerTxt {
    margin: 0 auto;
    max-width: 90%;
  }

  .innerTxt img {
    max-width: 100%;
    height: auto;
  }

  .visionWrap p {
    text-align: left;
    font-size: 14px;
    letter-spacing: 1.4px;
    letter-spacing: 1.4px;
  }

  /* service     -------------*/
  .serviceWrap {
    padding: 64px 0;
  }

  .serviceWrap .enTit {
    font-size: 28px;
    letter-spacing: 1.4px;
  }

  .serviceWrap .btnWrap a {
    font-size: 14px;
    letter-spacing: 0.7px;
  }

  .serviceDit {
    height: auto;
  }

  .serviceDit li {
    float: left;
    width: 50%;
  }

  .serviceDit li a {
    padding: 30px 0;
    height: 170px;
  }

  .serviceDit li span.jpTit {
    padding-top: 0px;
    font-size: 14px;
  }

  .serviceWrap .serviceDit-inner {
    width: 100%;
  }

  .serviceWrap .serviceDit-inner div {
    width: calc((100% - 48px) / 2);
  }

  .serviceWrap .serviceDit-inner a {
    padding: 24px 16px;
  }

  /* member     -------------*/
  .memberWrap {
    padding: 64px 16px;
  }

  .memberWrap .btnWrap a {
    font-size: 14px;
    letter-spacing: 0.7px;
  }

  .memberWrap .memberTit,
  .memberWrap .memberDit {
    display: block;
    width: 100%;
  }

  .memberWrap .memberTit .enTit {
    font-size: 28px;
    letter-spacing: 1.4px;
  }

  .memberWrap .memberDit-inner a {
    width: 160px;
    height: 160px;
  }

  /* youtube     -------------*/
  .youtubeWrap {
    padding: 64px 16px;
  }

  .youtubeWrap .enTit {
    font-size: 28px;
    letter-spacing: 1.4px;
  }

  .youtubeWrap .btnWrap a {
    font-size: 14px;
    letter-spacing: 0.7px;
  }

  .videoWrap {
    flex-direction: column;
    align-items: center;
  }

  .videoWrap .videoInner {
    width: 100%;
    max-width: 343px;
    aspect-ratio: 65 / 36;
  }


  /* recruit     -------------*/
  .recruitWrap {
    padding: 64px 16px;
    position: relative;
  }

  .recruitWrap h2.enTit {
    font-size: 28px;
    letter-spacing: 1.4px;
  }

  .recruitWrap .btnWrap {
    display: flex;
    justify-content: center;
    flex-direction: column;
  }

  .recruitWrap .btnWrap a {
    font-size: 14px;
    letter-spacing: 0.7px;
  }

  .recruitWrap p {
    margin: 32px 0;
    font-size: 14px;
    letter-spacing: 0.7px;
  }

  .recruitWrap .recruitImgWrap {
    overflow: hidden;
  }

  .recruitWrap .recruitImgWrap:before {
    background: url('/common/img/recruit_bk_clean.jpg') no-repeat left top;
    background-size: 100% auto;
    display: block;
    top: 0;
    left: 0;
    width: 160%;
    height: 100%;
    padding-bottom: 108px;
    content: "";
    z-index: -1;
  }

  /* news     -------------*/
  .newsWrap {
    padding: 64px 16px;
  }

  .newsWrap h2 {
    font-size: 28px;
    letter-spacing: 1.4px;
  }

  .newsWrap .more i {
    padding-left: 20px;
  }

  .newsWrap .more a {
    font-size: 14px;
  }

  .newsWrap .newsList li {
    padding: 20px;
  }

  .newsWrap .newsList li span.date {
    float: none;
    width: 100%;
    margin-bottom: 16px;
    font-size: 12px;
    line-height: 20px;
    letter-spacing: -0.15px;
  }

  .newsWrap .newsList li span.txt {
    float: none;
    width: 100%;
    font-size: 14px;
    letter-spacing: 0.7px;
  }

  .newsWrap .newsList li a i {
    display: none;
  }

}