body {
  background-color: #f4f5f6;
}

#wrapper {
  margin: 0 auto;
  max-width: 750px;
  width: 100%;
  overflow: hidden;
  background-color: #fff;
}

/* 画像の隙間対策 */
#wrapper img {
  vertical-align: bottom;
  /* max-width: 100%; */
  height: auto;
}

#wrapper video {
  width: 100%;
  height: auto;
}


/*上から下に出る*/

.fv-fadein-up {
  opacity: 0;
}

.fv-fadein-up-active {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  animation-name: fadeUPAnime-2;
  /*アニメーション後、要素が表示されたままにする*/
}

@-webkit-keyframes fadeUPAnime-2 {
  0% {
    opacity: 0;
    transform: translateY(20%);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeUPAnime-2 {
  0% {
    opacity: 0;
    transform: translateY(20%);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}


.fadein-up {
  opacity: 0;
}

.fadein-up-active {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  animation-name: fadeUPAnime;
  /*アニメーション後、要素が表示されたままにする*/
}



@-webkit-keyframes fadeUPAnime {
  0% {
    opacity: 0;
    transform: translateY(20%);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeUPAnime {
  0% {
    opacity: 0;
    transform: translateY(20%);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/*上から下に出る*/
.fadein-down {
  opacity: 0;
}

.fadein-down-active {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  animation-name: fadeDownAnime;
  /*アニメーション後、要素が表示されたままにする*/
}

@-webkit-keyframes fadeDownAnime {
  0% {
    opacity: 0;
    transform: translatey(-20%);
  }

  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes fadeDownAnime {
  0% {
    opacity: 0;
    transform: translateY(-20%);
  }

  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

/*左から右に出る*/
.fadein-right {
  opacity: 0;
}

.fadein-right-active {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  animation-name: fadeRightAnime;
  /*アニメーション後、要素が表示されたままにする*/
}

@-webkit-keyframes fadeRightAnime {
  0% {
    opacity: 0;
    transform: translateX(-8%);
  }

  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes fadeRightAnime {
  0% {
    opacity: 0;
    transform: translateX(-8%);
  }

  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

/*右から右に出る */
.fadein-left {
  opacity: 0;
}

.fadein-left-active {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  animation-name: fadeLeftAnime;
  /*アニメーション後、要素が表示されたままにする*/
}

@-webkit-keyframes fadeLeftAnime {
  0% {
    opacity: 0;
    transform: translateX(1rem);
  }

  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes fadeLeftAnime {
  0% {
    opacity: 0;
    transform: translateX(1rem);
  }

  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

/*ぼやけた状態から表示*/
.fadein-blur {
  opacity: 0;
}

.fadein-blur-active {
  animation-name: blur;
  animation-duration: .8s;
  animation-fill-mode: forwards;
}

@keyframes blur {
  from {
    filter: blur(20px);
    opacity: 0;
  }

  to {
    filter: blur(0);
    opacity: 1;
  }
}


.fv {
  position: relative;
}

.fv .fv-txt1,
.fv .fv-txt2 {
  position: absolute;
}

.fv .fv-txt1 {
  width: 62.5%;
  left: 5%;
  bottom: 85%;
}

.fv .fv-txt2 {
  width: 64.9%;
  left: 5%;
  bottom: 28%;
}

/*  ==============================
逆転合格者
=================================*/
.txt-box {
  position: relative;
}

.txt1,
.txt2,
.txt3,
.txt4 {
  position: absolute;
}

.txt1 {
  right: 7%;
  bottom: 59%;
  width: 60%;
}

.txt2 {
  left: 7%;
  bottom: 63%;
  width: 72%;
}

.txt3 {
  right: 7%;
  bottom: 59%;
  width: 72%;
}

.txt4 {
  left: 7%;
  bottom: 59%;
  width: 66%;
}

.title {
  position: relative;
}

.university-title {
  position: relative;
  width: 100%;
}

.title-txt {
  position: absolute;
  bottom: 25%;
  width: 80%;
  left: 10%;
}

/*  ==============================
お悩み
=================================*/

.worries {
  position: relative;
}

.worries .txt-box {
  position: absolute;
  left: 10.5%;
  bottom: 35%;
  width: 83%;
}




.intro_1 {
  position: relative;
}

.intro_1 .txt {
  position: absolute;
  width: 84%;
  bottom: 52%;
  left: 10%;
}

.intro_2 {
  position: relative;
}

.intro_2 .txt {
  position: absolute;
  width: 70%;
  left: 15%;
  bottom: 26%;
}

.intro_3 {
  position: relative;
}

.intro_3 .img1,
.intro_3 .img2,
.intro_3 .img3 {
  position: absolute;
  width: 88%;
  left: 4%;
}

.intro_3 .img1 {
  bottom: 52%;
}

.intro_3 .img2 {
  bottom: 24.5%;
}

.intro_3 .img3 {
  bottom: 1%;
}

.interview-txt {
  position: relative;
}

.interview-txt .txt {
  position: absolute;
  bottom: 10%;
  width: 88%;
  left: 6%;
}



.results-university,
.results-poto {
  position: relative;
}

.university-sider-box1,
.university-sider-box2,
.results-poto-box3 {
  position: absolute;
}

.university-sider-box1 {
  bottom: 27%;
  left: 0;
  width: 100%;
}

.university-sider-box2 {
  bottom: 15%;
  left: 0;
  width: 100%;
}

.results-poto-box3 {
  top: 5%;
  left: 0;
  width: 100%;
}

/*  ==============================
cta-box
CTAボタン
=================================*/
.cta-box {
  position: relative;
}

.cta-btn {
  position: absolute;
  width: 95.6%;
  left: 2.5%;
  bottom: 12%;
}

.cta img {
  width: 95.6%;
}



/*  ==============================
introduction
コース紹介
=================================*/
.introduction-intro {
  position: relative;
}

.intro-txt {
  position: absolute;
  width: 81%;
  left: 10%;
  top: 5%;
}

.interview-table {
  position: relative;
  white-space: nowrap;

}

.interview-scroll {
  position: absolute;
  border-collapse: collapse;
  width: 84%;
  bottom: 2%;
  left: 8%;
  overflow: scroll;
}

.scroll-img {
  width: 165%;
}

.scroll-img img {
  width: 200%;
}


.point3_09-box {
  position: relative;
}

.point3_09-box .txt {
  position: absolute;
  bottom: 7%;
  left: 10%;
  width: 80%;
}

.campaign_inner {
  position: relative;
}

.campaign_inner .txt {
  position: absolute;
  width: 30%;
  left: 5%;
  bottom: 30%;
}

/*  ==============================
access
開講校舎のご紹介
=================================*/
.access {
  background-image: url(../media/access/access_bg.webp);
  background-size: 100%;
  background-repeat: repeat-y;
  padding-bottom: 3rem;
}

.access-title {
  margin-bottom: 3rem;
}

.access-box-inner {
  width: 90%;
  left: 5.5%;
  position: relative;
  margin-bottom: 2rem;
}

.access-box-inner .btn {
  position: absolute;
  width: 44%;
  bottom: 5%;
  left: 54%;
}



/*---- 詳しくはこちらボタン　-----*/
.access-btn {
  width: 60%;
  margin-left: 19.6%;
  margin-bottom: 5%;
  z-index: 99;
  box-shadow: 0 3px 10px 0 rgba(0, 0, 0, .5);
  border-radius: 50%;
}

details {
  padding-bottom: 10px;
}

.accordion-txt {
  margin-bottom: 20px;
}

.accordion-box a img {
  width: 80%;
  margin-left: 9%;
  margin-bottom: 5%;
  box-shadow: 0 3px 10px 0 rgba(0, 0, 0, .5);
  border-radius: 11.155px;
}


/*====================================================================
.faq-box .accordion_one
====================================================================*/
.faq {
  background-color: #e2f2e4;
  background-size: 100%;
  background-repeat: repeat;
  width: 100%;
  padding-bottom: 35px;
}

.faq-box {
  background-color: #fff;
  border-radius: 10px;
  width: 90%;
  margin: 0 5%;
  padding-top: 1rem;
  padding-bottom: 35px;
}

/*=========.accordion_one =========*/

.accordion_one {
  background-color: #f3f3f3;
  margin: 2rem;
}

.faq-box .accordion_one .accordion_header {
  color: #fff;
  position: relative;
  z-index: +1;
  cursor: pointer;
  transition-duration: 0.2s;
  padding-bottom: 0;

}


.faq-box .accordion_one .accordion_header:hover {
  opacity: .8;
}

.faq-box .accordion_one .accordion_header .i_box {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 50%;
  right: 2.5%;
  width: 33px;
  height: 33px;
  border: 1px solid #ffffff;
  margin-top: -20px;
  box-sizing: border-box;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  transform-origin: center center;
  transition-duration: 0.2s;
}

.faq-box .accordion_one .accordion_header.stay .i_box {
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
}

.faq-box .accordion_one .accordion_header .i_box .one_i {
  display: block;
  width: 18px;
  height: 18px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  transform-origin: center center;
  transition-duration: 0.2s;
  position: relative;
}

.faq-box .accordion_one .accordion_header.stay .i_box .one_i {
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
}

.faq-box .accordion_one .accordion_header.stay.open .i_box .one_i {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.faq-box .accordion_one .accordion_header.open .i_box {
  -webkit-transform: rotate(-360deg);
  transform: rotate(-360deg);
}

.faq-box .accordion_one .accordion_header.stay.open .i_box {
  -webkit-transform: rotate(315eg);
  transform: rotate(315deg);
}

.faq-box .accordion_one .accordion_header .i_box .one_i:before,
.faq-box .accordion_one .accordion_header .i_box .one_i:after {
  display: flex;
  content: '';
  background-color: #fff;
  border-radius: 10px;
  width: 18px;
  height: 4px;
  position: absolute;
  top: 7px;
  left: 0;
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
  transform-origin: center center;
}

.faq-box .accordion_one .accordion_header .i_box .one_i:before {
  width: 4px;
  height: 18px;
  top: 0;
  left: 7px;
}

.faq-box .accordion_one .accordion_header.stay .i_box .one_i:before {
  content: none;
}

.faq-box .accordion_one .accordion_header.open .i_box .one_i:before {
  content: none;
}

.faq-box .accordion_one .accordion_header.stay.open .i_box .one_i:before {
  content: "";
}

.faq-box .accordion_one .accordion_header.open .i_box .one_i:after {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.faq-box .accordion_one .accordion_header.stay.open .i_box .one_i:after {
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
}

.faq-box .accordion_one .accordion_inner {
  display: none;
  top: 0;
  box-sizing: border-box;
}

.faq-box .accordion_one .accordion_inner.stay {
  display: block;
}


.faq-box .accordion_one .accordion_inner p.txt_a_ac {
  margin: 0;
}

@media screen and (max-width: 750px) {
  .faq-box {
    width: 95%;
    margin: 0 2%;
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .faq-box .accordion_one .accordion_header .i_box {
    width: 4vw;
    height: 4vw;
    margin-top: -1.8vw;
  }

  .faq-box .accordion_one .accordion_header .i_box .one_i:before,
  .faq-box .accordion_one .accordion_header .i_box .one_i:after {
    display: flex;
    content: '';
    background-color: #fff;
    border-radius: 10px;
    width: 15px;
    height: .5vw;
    position: absolute;
    top: 8px;
    left: 0;
  }

  .faq-box .accordion_one .accordion_header .i_box .one_i:before {
    width: .5vw;
    height: 15px;
    top: 2px;
    left: 6.5px;
  }
}


/*=========.FAQ END=========*/


.float {
  max-width: 750px;
  position: fixed;
  padding: .5rem .5rem;
  z-index: 9999;
  bottom: 0;
  background-color: rgba(82, 83, 84, 0.6);
}

.float-btn {
  position: relative;
}

.float-btn .btn1 {
  position: absolute;
  width: 33%;
  height: 95%;
  bottom: 0;
  left: 0%;
}

.float-btn .btn2 {
  position: absolute;
  width: 33%;
  height: 95%;
  bottom: 0;
  left: 34%;
}

.float-btn .btn3 {
  position: absolute;
  width: 33%;
  height: 95%;
  bottom: 0;
  right: 0%;
}