@charset 'UTF-8';

/*
GENERAL STYLING
================================================ */
html {
  font-size: 100%;
  /* スムーズスクロール */
  scroll-behavior: smooth;
}

body {
  color: #4d4d4d;
  font-family: 'Noto Sans JP', "Yu Gothic", "Helvetica Neue", "Helvetica", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Arial", "Meiryo", "sans-serif";
  background-color: #fffdfd;
}

.sp-none {
  display: block;
}

.pc-none {
  display: none;
}


@media screen and (max-width: 768px) {
  .sp-none {
    display: none;
  }

  .pc-none {
    display: block;
  }

  .Fv-2-1 h2 {
    font-size: 140%;
  }


  .bun {
    font-size: 18px !important;
    line-height: 24px !important;
    margin-left: 20px !important;
    margin-right: 20px !important;

  }
}

/*
COMMON
================================================ */
p,
td {
  line-height: 1.7;

}

img {
  max-width: 100%;
  height: auto;
}

h2 {
  font-size: 150%;
  margin-bottom: 0.4rem;
  font-family:'sans-serif' serif;
  text-align: center;
  color: #ffffff;
}

h3 {
  font-size: 120%;
  text-align: center;
  line-height: 1.4;
  margin-top: 40px;
}

h4 {
  font-size: 120%;
  text-align: center;
  line-height: 1.4;
  margin-top: 40px;
  font-family: YuMincho, 'Yu Mincho', serif;
  color: #7d6f21;
}

.title {
  font-size: 16px;
  display: block;
  text-align: center;
  font-weight: bold;
  color: #2aab9f;
  font-family: 'Noto Sans JP', "Yu Gothic", "Helvetica Neue", "Helvetica", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Arial", "Meiryo", "sans-serif";
}

.bold {
  font-weight: bold;
}

.line {
  text-decoration: underline solid #2a37ab;
}

.marker_line0 {
  background: linear-gradient(transparent 70%, #ffff00 0%);
  color: #c90202;
}

/*
timer
================================================ */
.timer {
    background: #cc0000;
    padding: 1.5%;
    color: #fff;
    border-radius: 30px;
    width: 70%;
    margin: 0 auto 3% auto;
}

.t-text {
    color: #c90202;
    margin-bottom: 0.5em;
}

.center_text, .timer-block {
    text-align: center;
    font-size: 1.7em;
    font-weight: 600;
    margin-bottom: 0.5em;
}

.timer_top{
  margin: 1% auto;
  color: #e2315e;
}

.timer_top span {
    font-size: 1.2em;
}

@media screen and (max-width: 768px) {

.timer {
    background: #cc0000;
    padding: 1.5%;
    color: #fff;
    border-radius: 30px;
    width: 90%;
    margin: 0 auto 4% auto;
  }

  .timer_top{
    font-size: 1.2em;
  }

  .center_text, .timer-block {
      text-align: center;
      font-size: 1.2em;
      font-weight: 600;
      margin-bottom: 0.5em;
  }

}




/* Layout */

#container {
  max-width: 900px;
  min-width: 100px;
  width: 100%;
  background-color: #fff;
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
  margin: 0 auto;
}

.wrapper {
  max-width: 900px;
  width: 100%;
  margin: 0 auto;
  background-color: #fff;
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
}

/*
HEADER
================================================ */

header{
  display: block;
}

.top_head {
    position: fixed;
    background: #cc0000;
    width: 100%;
    z-index: 1000;
}

.top_nav {

    padding: 0.5%;
    max-width: 900px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-family: 'Noto Sans JP', sans-serif;
}

.top_l {
    display: inline-flex;
    align-items: center;
}

.top_nav a {
    text-decoration: none;
    color: #fff;
}

.top_nav img {
    width: 30px;
}

#on {
    background: #ffe100;
    font-size: 1.1em;
    border-radius: 5px;
    font-weight: 600;
    color: #333;
    display: block;
    padding: 12px 15px;
}

.nav li {
    font-size: 20px;
    display: inline-block;
    line-height: 20px;
    text-align: center;
    vertical-align: middle;
}

.nav li:last-child, .nav li:first-child {
    border: none;
}

.logo {
  width: 8.5rem;
  margin-left: 10px;
}

.main-nav {
  display: none;
}

.header_cta {
  display: none;
}

.copyright {
  font-family: Verdana, “Droid Sans”;
}


/*
section fv
================================================ */

.red {
  margin: 20px 0;
  color: #cc0000;
  text-align: center;
  font-size: 18px;
  display: block;
  font-weight: bold;
  line-height: 20px;
  font-family: 'Noto Sans JP', "Yu Gothic", "Helvetica Neue", "Helvetica", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Arial", "Meiryo", "sans-serif";
}

.fv{
  padding: 55px 0 0 0;
}

.Fv-2-1 h2 {
  font-size: 150%;
  margin-bottom: 0.4rem;
  font-family: Verdana, “Droid Sans”;
  text-align: center;
  color: #ffffff;
  letter-spacing: 0;
}

.Fv-2 {
  display: inline-block;
  width: 100%;
  height: 76px;
  background-image: url(../img/リバースビューティー_04.jpg);
}

.Fv-2sp {
  display: inline-block;
  width: 100%;
  height: 90px;
  letter-spacing: -0.1em;
  background-image: url(../img/リバースビューティー_04.jpg);
}


.Fv-2-1 {
  margin-top: 18px;
}


.button1 {
  display: block;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.session{
  background: url(../img/session_bg.jpg);
  padding-bottom: 20px;
}

/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc {
  display: block !important;
}

.sp {
  display: none !important;
}

/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 750px) {
  .pc {
    display: none !important;
  }

  .sp {
    display: block !important;
  }
}


@media screen and (min-width: 768px) {
  .br_pc {
    display: none;
  }
}

@media only screen and (max-width: 768px) {
  .br_sp {
    display: none;
  }
}


/*
漫画
================================================ */
.manga{
  text-align: center;
  margin: 30px auto;
  width: 80%;
}


/*
注意30代以上の大人が、英語やり直しで絶対やっちゃダメなのはこの４つです！
================================================ */
.wrap {
  padding: 30px 50px;
  display: block;
  text-align: left;
  margin: auto;
  text-align: left;
}



/*
英語学習の真実と嘘
================================================ */

.ttl2haikei {
  display: inline-block;
  width: 100%;
  height: 580px;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url(../img/photo1.jpg);

}



/*
Specialレッスン
================================================ */


.ttl8haikei {
  display: inline-block;
  width: 100%;
  height: 223px;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url(../img/photo7.jpg);
  margin-top: 30px;
}


.ttl9haikei {
  display: inline-block;
  width: 100%;
  height: 324px;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url(../img/photo8.jpg);
  margin-top: 30px;
}


/*
理由
================================================ */

.haikei {
  background-color: #eef7ff;
  padding-top: 500px;
  padding-bottom: 20px;
}


.txthaikei {
  padding: 90px 10px 30px;
  width: 800px;
  background-color: #ffffff;
  display: block;
  text-align: left;
  margin: auto;
  text-align: left;
  margin-top: 60px;
  margin-left: 40px;
  margin-left: 40px;
}


.yoko {
  display: flex ;

}

.yoko2{
  text-align: right;
}


/*
英語ができる理由
================================================ */

.green {
  background-color: #f6d6d6;
  padding-top: 1px;
  padding-bottom: 50px;
}



.txthaikei {
  padding: 10px 30px;
  width: 90%;
  background-color: #ffffff;
  display: block;
  text-align: left;
  margin-left: 40px;
  margin-left: 40px;
}


/*
コーチ紹介
================================================ */

.ttl4haikei {

  width: 100%;
  margin: 30px 40px;
}


.waku {
  width: 90%;
  border: solid 3px #c90202;
  /*線*/
  border-radius: 10px;
  /*角の丸み*/
  margin-top: 50px;
  background-color: #fff;
}

.shoukai {
  margin: 0 auto;
  font-size: 18px;
  line-height: 34px;
  text-align: left;
}

.shoukaitxtbox {
  display: inline-block;
  margin: 0 auto;
  font-size: 24px;
  line-height: 34px;
  text-align: left;
  padding-top: 100px;
  padding-left: 30px;
}

.shoukaitxtbox2 {
  display: inline-block;
  margin: 0 40px;
  font-size: 20px;
  line-height: 34px;
  text-align: left;
  padding-top: 100px;
  padding-right: 120px;
}


.shoukaitxtbox3 {
  display: inline-block;
  margin: 0 auto;
  font-size: 24px;
  line-height: 34px;
  text-align: left;
  padding-top: 70px;
  padding-right: 76px;
}




.shoukaitxt {
  display: inline-block;
  margin: 0 auto;
  font-size: 18px;
  line-height: 30px;
  padding: 0 40px;
  text-align: left;
}


.fujinaga {
  display: flex;
}




.sign {
  text-align: right;
}


.dt {
  font-size: 120%;
  line-height: 2.5em;
  margin-top: 10px;
  margin-left: 20px;
}





#lisuto li {
  display: left;
  background-image: url('../img/cheack.png');
  background-repeat: no-repeat;
  background-size: 32px;
  padding-left: 40px;
  margin-left: 50px;
  margin-right: 40px;
  font-size: 26px;
  line-height: 42px;

}


#lisuto2 li {
  display: left;
  background-image: url('../img/cheack2.png');
  background-repeat: no-repeat;
  background-size: 32px;
  padding-left: 40px;
  margin-left: 50px;
  margin-right: 40px;
  font-size: 26px;
  line-height: 42px;
}







.teach {
  list-style: disc;
  list-style-position: outside;
  line-height: 2em;
  display: inline-block;
  margin-left: 50px;
  margin-right: 30px;
  font-size: 26px;
  font-weight: bolder;
}

.li {
  display: inline-block;
  font-size: 26px;
  font-weight: bolder;

}



/*
詳細
================================================ */

.bun {
  display: inline-block;
  font-size: 24px;
  line-height: 34px;
  margin-left: 40px;
  margin-right: 40px;
}

.bunc {
  font-size: 24px;
  line-height: 34px;
  text-align: center;
  margin: 0 auto;
}

.bunbox {
  display: inline-block;
  font-size: 24px;
  line-height: 34px;
}


.bun2 {
  font-size: 26px;
  line-height: 40px;
  margin-left: 40px;
  margin-right: 40px;
  text-align: center;
}


.bunbolder {
  font-size: 34px;
  line-height: 40px;
  margin-left: 40px;
  margin-right: 40px;
  text-align: center;
  font-weight: bolder;
}


.bunbold {
  font-size: 30px;
  line-height: 40px;
  margin-left: 40px;
  margin-right: 40px;
  text-align: center;
  font-weight: bold;
}

.bunbold_top {
  color: #fff;
  background-color: #cc0000;
  font-size: 20px;
  line-height: 40px;
  text-align: center;
  font-weight: bold;
}



.bunboldred {
  font-size: 26px;
  line-height: 40px;
  margin-left: 40px;
  margin-right: 40px;
  font-weight: bolder;
  text-decoration: underline;
  color: #cc0000;
}

.bunred {
  font-size: 24px;
  line-height: 40px;
  margin-left: 40px;
  margin-right: 40px;
  text-decoration: underline;
  color: #cc0000;
}

.bunredc {
  font-size: 26px;
  line-height: 40px;
  margin-left: 40px;
  margin-right: 40px;
  color: #cc0000;
  text-align: center;
}




.bunboldbk {
  font-size: 26px;
  line-height: 40px;
  margin-left: 40px;
  margin-right: 40px;
  font-weight: bolder;
  color: #4d4d4d;
}


.bunsml {
  font-size: 14px;
  line-height: 18px;
  margin-left: 40px;
  margin-right: 40px;
  text-align: center;
  margin-bottom: 10px;
}


.bunredsml {
  font-size: 16px;
  line-height: 18px;
  margin-left: 40px;
  margin-right: 40px;
  color: #cc0000;
  text-align: center;
}



.bunsml2{
  font-size: 14px;
  line-height: 18px;
  margin-left: 40px;
  margin-right: 40px;
  text-align: left;
  margin-bottom: 50px;
}



.move{
  margin: 0 auto;
  text-align: center;
}




.bun3 {
  display: inline-block;
  font-size: 16px;
  margin-top: 20px;
  margin-left: 30px;
  margin-right: 30px;
}


.sectionp5 {
  font-size: 30px;
  margin-bottom: 0.4rem;
  line-height: 2.8rem;
  margin-top: 20px;
  font-family: YuMincho, 'Yu Mincho', serif;
  text-align: center;
  color: #5a5a5a;
}

.sectionp5-1 {
  font-size: 30px;
  margin-bottom: 0.4rem;
  line-height: 2.8rem;
  margin-top: 20px;
  /* letter-spacing:; */
  font-family: YuMincho, 'Yu Mincho', serif;
  text-align: center;
  color: #5a5a5a;
}



.bun4 {
  font-size: 16px;
  margin-top: 20px;
  margin-left: 30px;
  margin-right: 30px;
}


/*
日程
================================================ */

/* Table */

.table_form {
  text-align: center;
  border-collapse: separate;
  border-spacing: 5px;
  margin-left: auto;
  margin-right: auto;
}

.kakomi{
  padding: 30px 30px;
    background-color: #fff;
    margin: 0 40px;
    font-weight: bold;
    border: solid 3px #c90202;
    border-radius: 10px;
}

.kakomi2{
 padding: 10px 0px;
    background-color: #fff;
    margin: 0 10px;
    font-weight: bold;
    border: solid 3px #c90202;
    border-radius: 10px;
}


.non{
  border-style:none;
}


th,
td {
  width: auto;
  padding: 0.5rem 0.1rem;
  border: solid 1px #4e4e4e;
  text-align: center;
  border-spacing: 3px;
}

td {
  vertical-align: middle;
}

.lft{
 margin-right: 20px;
}

#semail{
  width: 220px;
margin: 0 auto;
letter-spacing: -1px;
font-size: 14px;
}

.tbtxt {
  font-size: 20px;
  font-weight: bold;
  border: 0px none;
}

.tbtxt2 {
  font-size: 16px;
  font-weight: bold;
  border: 0px none;
  text-align: center;
  line-height: 16px;
  letter-spacing: -0.1em;
}

.ue2{
  animation: poyopoyo 2s ease-out infinite;
  opacity: 1;
  margin: 0 auto;
  text-align: center;
  width: 90%;
  padding-top: 10px;
}



.ue{
  margin-top: -20px;
  animation: poyopoyo 2s ease-out infinite;
  opacity: 1;
}

@keyframes poyopoyo {
  0%, 40%, 60%, 80% {
    transform: scale(1.0);
  }
  50%, 70% {
    transform: scale(0.95);
  }
}

.narabu{
  display: flex;
}


#whats {
  padding: 100px 1rem;
}

.whats_img {
  text-align: center;
  padding-top: 50px;
}

.img_center {
  padding-top: 30px;
  padding-bottom: 30px;
}

.section_p {
  padding-top: 50px;
  text-align: justify;
}

/*
section vision
================================================ */
#vision {
  padding: 100px 1rem;
  background-color: #f6f7f7;
}


/*
section reason
================================================ */
#reason {
  padding: 100px 1rem;
}

.section_p_title {
  text-align: center;
  padding-top: 30px;
  padding-bottom: 20px;
}

.section_inner {
  text-align: center;
  padding-top: 40px;
}

.number {
  display: block;
  width: min(14.93333vw, 56px);
  height: min(14.93333vw, 56px);
  border-radius: min(14.93333vw, 56px);
  border: 2px solid #2aab9f;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #2aab9f;
  margin: 10px auto 20px auto;
  font-weight: bold;
  font-size: 130%;
}

.section_inner_p {
  text-align: justify;
  /* padding-bottom: 40px; */
}

.section_inner .img_line {
  margin: 0 auto;
  text-align: center;

}

.strong_text {
  margin-top: 50px;
  margin-bottom: 50px;
  font-weight: bold;

}

.strong_text h2 {
  color: #363636;
  margin: 0 auto;
  padding-bottom: 0px;

}

.strong_text img {
  display: none;
}

.arrow_line {
  /* width: 100%; */
  margin: 50px auto;
}

#green_bg {
  background-color: #f2fbfb;
  text-align: center;
  padding: 0 16px;
  padding-bottom: 50px;
}

.reason_img .img_item {
  text-align: center;
  padding-bottom: 40px;
}

.reason_img .img_item .section_p {
  padding-top: 0;
  text-align: justify;
}

/*
section level
================================================ */
#level {
  padding: 100px 1rem;
}

/*
section Future
================================================ */
#future {
  text-align: center;
  background-color: #f6f7f7;
  padding-bottom: 100px;
}

#future h2 {
  padding-top: 80px;
}

#future h3 {
  margin-top: 30px;
  margin-bottom: 20px;
}



/*
section recommend
================================================ */
#recommend {
  padding: 100px 1rem;
}

.section_container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.section_item {
  display: inline-block;
  border-radius: 5px;
  /* box-shadow: 0 0 5px 0 rgb(0 0 0 / 20%); */
  border: 3px solid #2aab9f;
  margin: 20px 1.5%;
  text-align: center;
  background-color: #fff;
  padding: 10px;
}

.section_item p {
  margin-top: 10px;
}

/*
section feature
================================================ */
#feature {
  text-align: center;
  background-color: #f6f7f7;
  padding: 100px 1rem;
}

#feature h3 {
  margin-bottom: 40px;
}

.feature_box {
  margin-top: 50px;
  margin: 40px auto;
  background-color: #fff;
  border-radius: 5px;
  box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.2);
  text-align: center;
  padding: 0 5% 0;
}

/*
program
================================================ */
#program {
  padding: 100px 1rem 30px 1rem;
}

#program img {
  padding-bottom: 30px;
}

.img_container {
  display: flex;
  justify-content: center;
  align-items: center;
}

.img_center {
  margin: 0 auto;
}

/*
term
================================================ */
#term {
  background-color: #f6f7f7;
  text-align: center;
  padding: 0 16px;
  padding-bottom: 50px;
}

#term h3 {
  margin-bottom: 20px;
  margin-top: 0px;
}

.left_line {
  border-left: 5px solid #80c3c6;
  line-height: 1em;
  padding-left: 8px;
  font-weight: bold;
  text-align: left;
  margin-bottom: 20px;
}

.border_none {
  font-size: 115%;
  color: #2aab9f;
  font-weight: bold;
  margin-bottom: 50px;
}

.padding_bottom {
  padding-bottom: 50px;
}

/*-------------------QA---------------*/

.cp_actab {
  position: relative;
  overflow: hidden;
  width: 100%;

  border-bottom: none;
  text-align: left;

}

.cp_actab input {
  position: absolute;
  z-index: -1;
  opacity: 0;
}

.cp_actab label {
  font-weight: bold;
  line-height: 3;
  position: relative;
  display: block;
  padding: 0 12% 0 3%;
  cursor: pointer;
  margin: 0;
}

.unou {
  background-color: #fbe3df;
}

.sanou {
  background-color: #cfeefb;
}

.all {
  background-color: #f2fbfb;
}

.cp_actab .cp_actab-content {
  overflow: hidden;
  max-height: 0;
  -webkit-transition: max-height 0.35s;
  transition: max-height 0.35s;
  border-bottom: 1px solid #ffffff;
  background-color: #f6f7f7;
}

.cp_actab .cp_actab-content p {
  margin: 1em;
  text-align: justify;
}

/* :checked */
.cp_actab input:checked~.cp_actab-content {
  max-height: 20em;
}

/* Icon */
.cp_actab label::after {
  line-height: 3;
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  width: 3em;
  height: 3em;
  -webkit-transition: all 0.35s;
  transition: all 0.35s;
  text-align: center;
}

.cp_actab input[type=checkbox]+label::after {
  content: '+';
}

.cp_actab input[type=checkbox]:checked+label::after {
  transform: rotate(315deg);
}

.qa-box {
  padding-bottom: 40px;
}

/*
section schedule
================================================ */
#schedule {
  padding: 100px 1rem;
}

.schedule_img {
  text-align: center;
  padding-top: 50px;
}

.schedule_img_pc {
  display: none;
}

/*
section service
================================================ */
#service {
  padding: 100px 1rem;
  background-color: #f2fbfb;
}

#service h3 {
  margin-bottom: 20px;
  margin-top: 0px;
}

.left_dot i {
  padding-right: 5px;
  color: #80c3c6;
  margin-bottom: 10px;
}

.box_img {
  text-align: center;
  padding-bottom: 40px;
}

/*
section interview
================================================ */
#interview {
  padding: 100px 1rem;
}

/* カルーセル表示 */
/*スライダー001*/
.slider-001 {
  width: 100%;
  position: relative;
  margin: 0 auto;
  overflow: hidden;
  display: flex;
  border-radius: 6px;
}

.slide-001 {
  width: 100%;
  flex-shrink: 0;
  position: relative;
  top: 0;
  left: 0;
  transition: all 0.6s ease-in-out;
}

.slide-content-001 {
  width: 100%;
  /* height: 400px; */
  /* background-color: #c8e4ff; */
}

.slide-content-001 img {
  width: 100%;
  object-fit: cover;
  height: 100%;
}

.prev-001,
.next-001 {
  cursor: pointer;
  position: absolute;
  top: 50%;
  width: auto;
  /* height: 50px; */
  padding: 10px;
  margin-top: -28px;
  color: #2aab9f;
  font-weight: bold;
  font-size: 16px;
  transition: all 0.2s ease;
  border-radius: 0 4px 4px 0;
  user-select: none;
}

.next-001 {
  right: 0;
  border-radius: 4px 0 0 4px;
}

.prev-001:hover,
.next-001:hover {
  background-color: #80c3c6;
  color: #ffffff;
}

.slide-caption-001 {
  color: white;
  font-size: 15px;
  padding: 0;
  position: absolute;
  bottom: 31px;
  width: 100%;
  text-align: center;
}

.numbertext {
  color: white;
  font-size: 12px;
  font-weight: bold;
  padding: 8px 16px;
  position: absolute;
  top: 0;
}

.dots {
  height: 15px;
  padding: 0;
  position: absolute;
  bottom: 22px;
  width: 100%;
  text-align: center;
}

.dot {
  cursor: pointer;
  height: 15px;
  width: 15px;
  margin: 10px 4px;
  background-color: white;
  border-radius: 50%;
  display: inline-block;
  transition: all 0.2s ease;
}

.dot:hover {
  background-color: rgba(107, 182, 255, 0.8);
}

/* カルーセルここまで */

/*
section teacher
================================================ */
#teacher {
  text-align: center;
  background-color: #f6f7f7;
  padding: 100px 1rem;
}

#teacher h2 {
  font-family: 'Noto Sans JP', "Yu Gothic", "Helvetica Neue", "Helvetica", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Arial", "Meiryo", "sans-serif";
}

#teacher img {
  padding-top: 30px;
}

/*
section pricing
================================================ */
#pricing {
  text-align: center;
  padding: 100px 1rem 50px 1rem;
}

.text-center {
  margin: 40px auto;

}

.houhou {
  background: #fff;
  border: 2px solid #2aab9f;
  width: 190px;
  padding: 15px auto;
  margin: 0 auto;
  font-weight: bold;
  text-align: center;
  border-radius: 5px;
}

.slash {
  background-image: url('../images/slash_line.png');
  text-align: center;
  background-size: 100%;
  background-repeat: no-repeat;
  margin: 0 auto;
}

.slash h3 {
  font-size: 95%;
  font-weight: bold;
}

.notice {
  margin: 0 6%;
  width: 88%;
  background-color: #EFEBDF;
  outline: solid 1px #555330;
  outline-offset: -10px;
  border-radius: 5px;
  padding: 25px 5%;

}

.notice_p {
  padding-top: 1.5rem;
  font-size: 90%;
  text-align: justify;
}

.big {
  font-size: 120%;
}

/*
section price
================================================ */
#price {
  text-align: center;
  padding: 100px 1rem;
}

#price .title {
  margin-bottom: 50px;
}

.small {
  font-size: 80%;
  text-align: justify;
}

/*
section apply
================================================ */
#apply {
  text-align: center;
  padding: 100px 1rem 50px 1rem;
}

.apply_container {
  display: grid;
  grid-template-columns: 1fr 3.5fr;
  gap: 1rem;
}

#apply h3 {
  margin-top: 0px;
  font-weight: bold;
  text-align: center;

  margin-bottom: 1rem;
}

.apply_container p {
  font-size: 95%;
}

/*
section cta
================================================ */
#cta {
  background-color: #f2fbfb;
  text-align: center;
  padding: 50px 1rem 100px 1rem;
}

#cta h3 {
  margin-top: 0;
  font-weight: bold;
  padding: 0;
}

.cta_btn img {
  padding-bottom: 50px;
}

.btn_item {
  max-width: 50%;
  margin: 0 auto;
}

.contact_box {
  margin: 0 auto;
  background-color: #fff;
  border-radius: 5px;
  box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.2);
  text-align: center;
  padding: 20px 8%;
}

.contact_box .contact_img {
  margin: 40px auto;
}

/*
section message
================================================ */
#message {
  background-color: #f6f7f7;
  padding: 100px 1rem;
  margin-bottom: 0;
}

.message_box {
  margin-top: 50px;
  margin: 40px auto;
  background-color: #fff;
  border-radius: 5px;
  box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.2);
  text-align: center;
  padding: 40px 5%;
}

#message .message_box h2 {
  color: #4d4d4d;
  text-align: left;
  border-bottom: 1px solid #555330;
  padding-bottom: 3%;
}

.message .pen {
  float: right;
  padding-bottom: 1%;
  margin-top: 1%;
  margin-bottom: 1%;
  max-width: 50%;
}

.message_box .message p {
  background-color: #fff;
  background-image: linear-gradient(90deg, rgba(237, 119, 128, 0) 0%, rgba(237, 119, 128, 0) 50%, #fff 0%, #fff 100%), linear-gradient(180deg, rgba(100, 100, 100, 0) 0%, rgba(100, 100, 100, 0) 97.5%, #646464 100%);
  background-size: 8px 100%, 100% 2em;
  line-height: 2em;
  font-family: serif;
  text-align: left;
  padding-bottom: 40px;
}

.center {
  text-align: center;
  background-color: #fff;
  background-image: linear-gradient(90deg, rgba(237, 119, 128, 0) 0%, rgba(237, 119, 128, 0) 50%, #fff 0%, #fff 100%), linear-gradient(180deg, rgba(100, 100, 100, 0) 0%, rgba(100, 100, 100, 0) 97.5%, #646464 100%);
  background-size: 8px 100%, 100% 2em;
  line-height: 2em;
  font-family: serif;
  font-weight: bold;
}

.right {
  background-color: #fff;
  background-image: linear-gradient(90deg, rgba(237, 119, 128, 0) 0%, rgba(237, 119, 128, 0) 50%, #fff 0%, #fff 100%), linear-gradient(180deg, rgba(100, 100, 100, 0) 0%, rgba(100, 100, 100, 0) 97.5%, #646464 100%);
  background-size: 8px 100%, 100% 2em;
  line-height: 2em;
  font-family: serif;
  font-weight: bold;
  text-align: right;
}

/*
section question
================================================ */
#question {
  text-align: center;
  padding: 100px 1rem;
}

.qa {
  background-color: #f2fbfb;
}

/*
footer
================================================ */
footer {
  width: 100%;
  height: auto;
  color: #fff;
  background-color: #c90202;
  padding-top: 40px;
  padding-bottom: 40px;
  text-align: center;
}

.footer-inner {
  text-align: center;
  font-size: 16px;
}

.footer-inner a {
  padding: 5px;
  margin: 1px;
  color: #fff;
  text-align: center;
}

.footer-inner ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.footer-inner li {
  text-align: center;
  padding-top: 8px;
  padding-bottom: 8px;
  border-bottom: 1px solid #bcbab7;
}

.footer-inner li a {
  font-size: 10px;
}

.foop {
  font-size: 16px;
}

.footer-inner li:hover {
  opacity: 0.5;
  background: #929499;
}

.fotter-inner li:last-child::after {
  content: none;
}

/*
CTA
================================================ */

.btn {
  margin: 10px auto;
  padding: 0 20px;
  text-align: center;
  width: 70%;
}

/*メニューをページ下部に固定*/
#sp-fixed-menu {
  position: fixed;
  width: 100%;
  bottom: 0px;
  font-size: 0;
  opacity: 0.9;
  z-index: 99;
}

/*メニューを横並びにする*/
#sp-fixed-menu ul {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
  width: 100%;
}

/*メニューを横並びに*/
#sp-fixed-menu li {
  justify-content: center;
  align-items: center;
  width: 33%;
  padding: 0;
  margin: 0;
  font-size: 14px;
  border-right: 1px solid #fff;
}

/*左側メニュー*/
#sp-fixed-menu li:first-child {
  background: #ef999c;
  display: left;
  background-image: url('../img/icon1.png');
  background-position: 16px;
  background-repeat: no-repeat;
}

/*中側メニュ*/
#sp-fixed-menu li:nth-child(2) {
  background: #39c40f;
  display: left;
  background-image: url('../img/icon2.png');
  background-position: 8px;
  background-repeat: no-repeat;
}


/*右側メニュー*/
#sp-fixed-menu li:last-child {
  background: #ef999c;
  display: left;
  background-image: url('../img/icon3.png');
  background-position: 8px;
  background-repeat: no-repeat;
}

/*ボタンを調整*/
#sp-fixed-menu li a {
  color: #fff;
  text-align: center;
  display: block;
  width: 100%;
  padding: 10px;
}

.btn i {
  padding-right: 5px;
}


/* 固定バナー  220601 追加 */
.fixed-banner {
  position: fixed;
  bottom: 10px;
  right: 5vw;
  z-index: 100;
  opacity: 0;
  visibility: hidden;
  /* transition: all 0.3s ease 0s; */
}

.fixed-banner.is-show {
  opacity: 1;
  visibility: visible;
}

.fixed-banner.is-show:hover {
  opacity: 1;
}
/* 固定バナー  220601 追加 end */



/*
DESKTOP SIZE
================================================ */
@media (max-width: 750px) {

  /* 220601 追加 */
  .fixed-banner {
    bottom: 10px;
    right: 10px;
  }

  .fixed-banner.is-show {
    opacity: 1;
  }
  /* 220601 追加 end */

  /* Common */

  .btn {
    width: auto;
  }

  /* Footer */
  .footer-nav {
    display: flex;
    justify-content: center;
  }

  .footer-nav li {
    margin: 0 .75rem;
  }

  .footer-inner li a {
    font-size: 100%;
    align-items: center;
  }

  #sp-fixed-menu {
    display: block;
    vertical-align: middle;
    max-width: 910px;
  }

  .for-sp {
    vertical-align: middle;
  }

  /* 文字大きさ */

  p {
    font-size: 100%;
    letter-spacing: 1.5;
  }

  h2 {
    font-size: 225%;
    margin-bottom: 20px;
  }

  h3 {
    font-size: 100%;
    margin-top: 50px;
  }



  .strong_text h2 {
    display: none;
  }

  .strong_text img {
    display: flex;
    margin: 0 auto;
  }

  .section_inner .title {
    font-size: 88%;
  }

  .whats_img {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .schedule_img {
    display: none;

  }

  .reason_img {
    display: flex;
    justify-content: space-between;
    padding: 0;
    margin: 0;
  }

  .img_item {
    width: 60%;
    padding-bottom: 50px;
  }

  .section_p_title {
    text-align: center;
    display: block;
    padding-top: 50px;
    padding-bottom: 50px;
  }


  /* CTA */
  .header_nav {
    margin: 0 auto;
    width: 900px;
  }



  .header_cta a {
    width: 135px;
    font-size: 15px;
    padding: 9px;
    margin-left: 10px;
  }

  .header_cta a:hover {
    opacity: 0.5;
    background: #e44d5c;
  }

  .btn_contact {
    background: #fff;
    border: 2px solid #e44d5c;
    color: #e44d5c;
    text-decoration: none;
  }

  .btn_dl {
    color: #fff;
    border: 2px solid #e44d5c;
    background-color: #e44d5c;
  }

  .header_cta a:hover {
    opacity: 0.5;
    background: #e44d5c;
    color: #fff;
  }


  #whats,
  #vision,
  #reason,
  #level,
  #program,
  #teacher,
  #apply,
  #message,
  #question {
    padding-left: 20px;
    padding-right: 20px;
  }

  #beforafter,
  #kouka,
  #feature,
  #schedule,
  #service,
  #pricing,
  #term {
    padding-left: 20px;
    padding-right: 10px;
  }


  .kouka_box {
    width: 100%;
  }

  .number {
    font-size: 150%;
  }

  .slash {
    background-size: contain;
    background-position: center;
  }

  .slash h3 {
    font-size: 138%
  }

  .contact_box {
    margin-left: 60px;
    margin-right: 60px;
    padding-bottom: 40px;
  }

  .message_box h2 {
    font-size: 200%;
  }

  #teacher h2 {
    color: #4d4d4d;
    text-align: left;
  }

  #teacher h3 {
    text-align: left;
  }

  #teacher .right {
    float: right;
    margin-right: 5px;
    margin-left: 10px;
  }




  #message p {
    line-height: 2em;
  }

  .notice {
    width: 600px;
    margin: 0 auto;
  }

}

/*
特典
================================================ */




@media screen and (max-width: 768px) {
  （ここにモバイル用スタイルを記述） .bun {
    font-size: 18px;
    line-height: 24px;
    margin-left: 10px;
    margin-right: 10px;
  }

  /*
  ナビ
  ================================================ */
  /*　ハンバーガーボタン　*/
	.menu {
    background-color: #fff;
    border-radius: 4px;
		display : block;
		position: fixed;
		z-index : 3;
		right : 13px;
		top   : 8px;
		width : 40px;
		height: 40px;
		cursor: pointer;
		text-align: center;
	}
	.menu span {
		display : block;
		position: absolute;
		width   : 25px;
		height  : 2px ;
		left    : 8px;
		background : #c90202;
		-webkit-transition: 0.3s ease-in-out;
		-moz-transition   : 0.3s ease-in-out;
		transition        : 0.3s ease-in-out;
	}
	.menu span:nth-child(1) {top: 10px;}
	.menu span:nth-child(2) {top: 20px;}
	.menu span:nth-child(3) {top: 30px;}

	/* ナビ開いてる時のボタン */
	.menu.active span:nth-child(1) {
		top : 19px;
		left: 8px;
		-webkit-transform: rotate(-45deg);
		-moz-transform   : rotate(-45deg);
		transform        : rotate(-45deg);
	}
	.menu.active span:nth-child(2),
	.menu.active span:nth-child(3) {
		top: 19px;
		-webkit-transform: rotate(45deg);
		-moz-transform   : rotate(45deg);
		transform        : rotate(45deg);
	}

	/**/
	.top_nav{padding: 1%;}
	.nav {
		position: fixed;
		top  : -280px;
		left : 0;
		color: #333;
		background: #cc0000;
		text-align: center;
		width: 100%;
		transition: ease .8s;
		margin: 0 auto;
		padding: 0;
	}
	.nav li {
		list-style-type: none;
		padding: 0;
		width: 100%;
		transition: .4s all;
	}
	.nav li:last-child {padding-bottom: 0;}
	.nav li:hover{background :#ddd;}

	.nav li a {
		display: block;
		color: #fff;
		padding: 0.5em 0;
		text-decoration :none;
	}
	.nav.active {top: 0;}

  /*
  漫画
  ================================================ */
  .manga{
    text-align: center;
    margin: 10px auto 20px auto;
    width: 100%;
  }


  .bunc {
    font-size: 18px;
    line-height: 24px;
    text-align: center;
  }


  .bunbox {
    display: inline-block;
    font-size: 18px;
    line-height: 24px;
  }


  .bun2 {
    font-size: 22px;
    line-height: 33px;
    margin-left: 20px;
    margin-right: 20px;
    text-align: center;
  }


  .bunbold {
    font-size: 24px;
    line-height: 30px;
    margin-left: 20px;
    margin-right: 20px;
    text-align: center;
    font-weight: bold;
  }

  .bunbold2 {
    font-size: 18px;
    line-height: 22px;
    margin-left: 20px;
    margin-right: 20px;
    text-align: center;
    font-weight: bold;
  }

  .bunboldred {
    font-size: 24px;
    line-height: 32px;
    margin-left: 20px;
    margin-right: 20px;
    font-weight: bolder;
    text-decoration: underline;
    color: #cc0000;
  }

  .bunred {
    font-size: 18px;
    line-height: 32px;
    margin-left: 20px;
    margin-right: 20px;
    text-decoration: underline;
    color: #cc0000;
  }

  .bunredc {
    font-size: 22px;
    line-height: 32px;
    margin-left: 20px;
    margin-right: 20px;
    color: #cc0000;
    text-align: center;
  }


  .bunboldbk {
    font-size: 24px;
    line-height: 32px;
    margin-left: 20px;
    margin-right: 20px;
    font-weight: bolder;
    color: #4d4d4d;
  }

  .bunsml {
    font-size: 12px;
    line-height: 16px;
    margin-left: 20px;
    margin-right: 20px;
    text-align: center;
    margin-bottom: 10px;
  }


  .bunredsml {
    font-size: 8px;
    line-height: 18px;
    margin-left: 20px;
    margin-right: 20px;
    color: #cc0000;
    text-align: center;
  }


  .move{
    width: 100%;
    margin: 0 auto;
    text-align: center;
  }



  .txthaikei {
    padding: 30px 5px 10px;
    width: 90%;
    background-color: #ffffff;
    display: block;
    text-align: left;
    margin: auto;
    text-align: left;
  }

  /*
WRAP
================================================ */

  .wrap {
    padding: 30px 20px;
    display: block;
    text-align: left;
    margin: auto;
    text-align: left;
  }



  .green {
    background-color: #f6d6d6;
    padding-top: 1px;
    padding-bottom: 20px;
  }


  .txthaikei {
    padding: 10px 10px 30px;
    width: 90%;
    background-color: #ffffff;
    display: block;
    text-align: left;
    margin: 0 auto;
    text-align: left;
    margin-top: 30px;

  }

  .yoko {
    display: block;
  }



  img {
    max-width: 100%;
    height: auto;
  }






  #lisuto li {
    display: left;
    background-image: url('../img/cheack.png');
    background-repeat: no-repeat;
    background-size: 24px;
    padding-left: 28px;
    margin-left: 30px;
    margin-right: 20px;
    font-size: 20px;
    line-height: 36px;

  }

  #lisuto2 li {
    display: left;
    background-image: url('../img/cheack2.png');
    background-repeat: no-repeat;
    background-size: 24px;
    padding-left: 28px;
    margin-left: 30px;
    margin-right: 20px;
    font-size: 20px;
    line-height: 36px;
  }



  /*
コーチ紹介
================================================ */

  .ttl4haikei {

    width: 100%;
    margin: 0 auto;
  }

  .waku {
    width: 90%;
    border: solid 3px #c90202;
    /*線*/
    border-radius: 10px;
    /*角の丸み*/
    margin: 30px auto;
  }

  .shoukai {
    margin: 0 auto;
    font-size: 24px;
    line-height: 34px;
    text-align: left;
  }

  .shoukaitxtbox {
    display: inline-block;
    margin: 0 auto;
    font-size: 18px;
    line-height: 28px;
    text-align: left;
    padding-top: 30px;
    padding-left: 20px;
  }

  .shoukaitxtbox2 {
    display: inline-block;
    margin: 0 auto;
    font-size: 18px;
    line-height: 28px;
    text-align: left;
    padding-top: 30px;
    padding-left: 20px;
  }

  .shoukaitxt {
    display: inline-block;
    margin: 0 auto;
    font-size: 18px;
    line-height: 28px;
    padding: 0 20px;
    text-align: left;
  }


  .fujinaga {
    display: flex;
  }


  .shoukaitxtbox3 {
    display: inline-block;
    margin: 0 auto;
    font-size: 18px;
    line-height: 28px;
    text-align: left;
    padding-top: 20px;
    padding-right: 16px;
  }


  .sign {
    text-align: right;
  }




  .table_form {
    text-align: center;
    border-collapse: separate;
    border-spacing: 5px;
    margin-right: 10px;
    width:100%;
  }


  th,
  td {
    width: auto;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 0.3rem;
    padding-right: 0.3rem;
    border: solid 1px #4e4e4e;
    text-align: center;
    border-spacing: 3px;
  }

  td {
    vertical-align: middle;
  }

  .tbtxt {
    font-size: 16px;
    font-weight: bold;
    border: 0px none;
    letter-spacing: -0.1em
  }


  footer {
    width: 100%;
    height: auto;
    color: #fff;
    background-color: #c90202;
    padding-top: 40px;
    padding-bottom: 40px;
    text-align: center;
  }

  .footer-inner {
    text-align: center;
    font-size: 14px;
    letter-spacing: -0.16em
  }

  .footer-inner a {
    color: #fff;
    text-align: center;
  }

}




  /*
その他追加
================================================ */

.img-right {
    display: block;
    float: right;
    width: 35%;
  }

  @media screen and (max-width: 768px) {

  .img-right {
    margin-bottom: 6%;
    width: 100%;
    height: 140px;
    object-fit: cover; /* この一行を追加するだけ！ */
  }
  }
