@charset "utf-8";
/* CSS Document */
/** 全体CSS **/

body{
  font-family:"Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif!important;
}

div.col-xl-9 div#main_content {
  width: 100%;
}

div#nav_box{
  background: #fff;
  box-shadow: 0px 3px 10px #7674749e;
}

nav.navbar.navbar-expand-md.navbar-light.bg-light.pt-0.pb-0 {
  background-color: #fff!important;
}

nav.navbar.navbar-expand-md.navbar-light.bg-light {
  width: fit-content;
  margin: 0 auto;
}

h1 {
  font-size: 1.5rem;
}

li.nav-item.btn.btn-warning.ml-2.mou_button {
  border-radius: 0;
}

a.nav-link.font-weight-bold.p-0 {
  color: black;
}

img.logo_sp{
  display: none;
}

/*.tellink {
  display: block;
}*/

a.nav-link {
  font-size: 0.95em;
  letter-spacing: -0.01rem;
}

li.nav-item {
  line-height: 3.5rem;
  font-size: 1.05rem;
  margin: 0 1px;
}

a.nav-link{
  margin: 5px auto 0;
  padding: 0 0 1px 0;
}

.nav-link {
  display: block;
  padding: .5rem 1rem 0;
}

span.mou_btn_font {
  display: block;
  line-height: .5rem;
  padding: 10px 0 0;
  color: black;
}

span.mou_arrow {
  display: block;
  line-height: .2rem;
  margin: 0 auto;
  padding: 0;
  font-size: 1.2rem;
}

/** スクロール時メニュー上部固定 **/

.is-fixed {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
}

header  {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  transition: .3s;
  background-color: rgba(255,255,255,0);
  /*height: 200px;*/
  height: 81px;
}

.is-fixed  {
  position:  fixed;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  background-color: rgba(255,255,255,0.9);
  -webkit-transition: all .4s ease 0s,background .6s ease .2s;
  transition: all .4s ease 0s,background .6s ease .2s;
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch;
  height: 100px;
}

.text-lg-left {
  text-align: center!important;
  width: 100%;
  margin: 0 auto;
}

.col-lg-6.h-100.text-center.text-lg-left.my-auto {
  text-align: center!important;
}

span.text-danger.font-weight-bold.bg-white.pl-1.pr-1.ml-1 {
  border-radius: 10px;
  font-size: 1.3rem;
}

span.text-danger.font-weight-bold.h6.bg-white {
  font-size: 0.9rem;
  line-height: 20px;
  display: block;
  width: 100%;
  text-align: center;
  margin: 0 auto 2px;
  border-radius: 10px 10px 0 0;
}

p.card-text.h1.text-primary.font-weight-bold {
  font-size: 2.5rem;
}

p.h5.toi {
  font-size: 1.1rem;
  letter-spacing: -0.05em;
}

span.br_on_of {
  display: none;
}

.sinro_pc{
  display: block;
}

.sinro_sp{
  display: none;
}

.sidouhou_eye_pc{
  display: block;
}

.sidouhou_eye_sp{
  display: none;
}

.eyecatch{
  display: block;
}

.eyecatch_sp{
  display: none;
}

/** メールフォーム(mail_config) **/

.thx_msg {
  width: 100%;
  margin: 15px auto;
}

.thx_msg h3 {
  text-align: center;
  font-weight: bold;
  padding: 10px 0;
}

p.msg {
  width: 60%;
  margin: 0 auto;
  padding: 0 12px;
}

a.conv_color{
  color: #fff;
}

p.cong_back {
  text-align: center;
  display: block;
  font-size: 1.2rem;
  padding: 10px;
  border: solid 1px #2d8aea;
  border-radius: 4px;
  width: 30%;
  margin: 0 auto 20px;
  background: #2d8aea;
  color: #fff;
  box-shadow: 0px 8px 4px #a7a7a7;
}

p.cong_back a:hover {
  box-shadow: none;
  transform: translate3d(0, 3px, 0);
}

p.cong_back a:link {
  color: #fff;
}

h2.title_border_bu{
  border-left: solid 10px #5f93f3;
  padding: 0 0 0 10px;
  font-size: 1.8rem;
  margin: 3% auto 0;
}

.table_box{
  display: none;
}

.zei_kome{
  color: red;
  margin: 10px auto 0;
}

h1,h2,h3,h4,h5,h6{
  font-family:"Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
}

ul li{
  list-style-type: none;
}

/** トップビジュアル部分 **/

.main-v {
  position: relative;
  background-color: #fff;
  /*margin-bottom: 30px;*/
  margin-top: 3rem;
}

.main-container{
  position:relative;
  max-width: 1110px;
  margin-left:auto;margin-right:auto;
}

img{
  max-width: 100%;
  height: auto;
}

.main-img{
  display: block;
  margin: 0 auto;
}

.visual_box {
  position: relative;
}

.camp_banner {
  position: absolute;
  top: 66%;
  left: 5%;
  width: 33%;
  height: 22%;
  border: solid 1px #fff;
  color: #fff;
}

/* メインのテキスト装飾 */

.main-info h2{
  position: absolute;
  background: rgba(33, 33, 44, 0.7);
  color: #fff;
  padding:10px 10px;
}

.main-info2 h2{
  position: absolute;
  background: rgba(33, 33, 44, 0.7);
  color: #fff;
  padding:10px 10px;
}

a.form_link {
  color: #fff;
}

a.form_link:hover {
  text-decoration: none;
}

.top_info_ti {
  font-size: 1.9rem;
  padding: 0 0 .5%;
  margin: 0px auto 15px;
}

/** ここまで **/

/** セカンドビジュアル **/

.zigzag {
  position: relative;
  max-width: 100%;
  margin: 0 auto;
  line-height: 50px;
  background: rgb(255, 49, 49);
  color: #fff;
  z-index: 1;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.8));
}

.zigzag::before, .zigzag::after {
  height: 20px;
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
}

.zigzag::before {
  top: -20px;
  background: linear-gradient(45deg, rgb(255, 49, 49) 10px, transparent 0), linear-gradient(315deg, rgb(255, 49, 49) 10px, transparent 0);
  background-size: 20px 20px;
}

.first_img_spbox{
  display: none;
}

/** ここまで **/

/** 進路が広がります **/

.sinro_box {
  width: 100%;
  margin: 0px auto;
}

p.sinro_tx {
  font-size: 1.2rem;
  text-align: left;
  margin: 20px auto;
  max-width: 90%;
  padding: 0 17px;
}

.sinro_ti {
  font-size: 1.4rem;
  margin: 0px auto 15px;
}

span.first_ti {
  font-size: 1.4rem;
  line-height: 25px;
  border-bottom: solid 1px #a7a7a7;
  padding: 0 0 .6%;
  display: block;
  width: 30%;
  margin: 0 auto;
}

span.second_ti {
  font-size: 1.8rem;
  padding: 0;
  line-height: 45px;
  display: block;
  width: 95%;
  margin: 0 auto;
}

/** ここまで **/

/** コーニン・サポの特徴 **/

.tokuchou_box {
  padding: 0;
}

.row.pay_row {
  margin: 5% auto 0 auto;
}

h5.dekiru_h5 {
  /*background-color: #424345;*/
  width: 100%;
  font-size: 1.4rem;
  margin: 0 auto 20px;
  padding: 8rem 0;
  border-radius: 252px;
  color: #fff;
  text-shadow: 2px 2px 3px #111;
}

span.dekiru_ti {
  display: block;
  text-align: center;
  margin: 0 auto 10px;
  font-weight: bold;
  font-size: 1.3rem;
}

.dekiruimg1{
  background-image: url(../img/dekiru_img1.jpg);
  background-repeat: no-repeat;
}

.dekiruimg2{
  background-image: url(../img/dekiru_img2.jpg);
  background-repeat: no-repeat;
}

.dekiruimg3{
  background-image: url(../img/dekiru_img3.jpg);
  background-repeat: no-repeat;
}

.dekiruimg4{
  background-image: url(../img/dekiru_img4.jpg);
  background-repeat: no-repeat;
}

/** ここまで **/

/** 指導方法 **/

p.contents_tx {
  font-size: 1.2rem;
  text-align: left;
  margin: 20px auto;
  max-width: 90%;
  padding: 0 17px;
}


h4.contents_ti {
  margin: 30px auto 30px;
  font-size: 1.7rem;
  letter-spacing: -0.05em;
}

p.sidou_ontx {
  max-width: 100%;
  margin: 0 auto 1%;
  padding: 0 2rem;
  text-align: left;
  font-size: 1.2rem;
  line-height: 25px;
}

.sidou_box{
  display: flex;
  width: 90%;
  margin: 0 auto;
}

.sidou_infobox{
  margin: 60px auto 20px;
}

.sidou_infolist {
    margin: 0 auto 50px;
}

h4.sidou_infoti {
  width: 100%;
  margin: 0 auto;
}

h4.sidou_infoti span{
  font-size: 1.4rem;
  width: 40%;
  margin: 0 auto 40px;
  border-top: dotted 3px #fb7148;
  border-bottom: dotted 3px #fb7148;
  display: block;
  padding: 0.7rem 0;
}

/** ここまで **/

/** 予約から受講まで **/

.sidou_rootbox{
  display: flex;
  width: 70%;
  margin: 0 auto 4%;
}

.sidou_stepbox{
  width: 50%;
  height: 100%;
  margin: 0 15px 10px;
  text-align: left;
  padding: 0px;
  border: solid 3px #3baffb;
  border-radius: 5px;
}

.sidou_stepbox h5{
  font-size: 1.5rem;
  margin: 15px auto 10px;
  font-weight: bold;
  text-align: center;
  color: #3baffb;
}

.step_img img {
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}

.sidou_roottx{
  font-size: 1rem;
  margin: 20px auto 0px;
  padding: 8px;
  color: #fff;
  background-color: #3baffb;
}
/** ここまで **/

/** 受講中のルール **/

span.sidourule {
  position: relative;
  padding: 1rem 2rem;
  text-align: left;
  border: 3px solid #3baffb;
  margin: 10px auto;
  width: 100%;
  display: block
}

span.sidourule:before {
  font-size: 1.5rem;
  position: absolute;
  line-height: 36px;
  top: -36px;
  left: -3px;
  padding: 0 1em;
  content: 'ルール１';
  color: #fff;
  background: #3baffb;
}

ul.sidou_ul2{
  margin: 7% auto 0;
  padding: 0 3%;
}

ul.sidou_ul2 li{
  margin: 45px auto 35px;
  width: 90%;
}

span.sidourule2 {
  position: relative;
  padding: 1rem 2rem;
  text-align: left;
  border: 3px solid #3baffb;
  margin: 10px auto;
  width: 100%;
  display: block
}

span.sidourule2:before {
  font-size: 1.5rem;
  position: absolute;
  line-height: 36px;
  top: -36px;
  left: -3px;
  padding: 0 1em;
  content: 'ルール２';
  color: #fff;
  background: #3baffb;
}

span.sidourule3 {
  position: relative;
  padding: 1rem 2rem;
  text-align: left;
  border: 3px solid #3baffb;
  margin: 10px auto;
  width: 100%;
  display: block
}

span.sidourule3:before {
  font-size: 1.5rem;
  position: absolute;
  line-height: 36px;
  top: -36px;
  left: -3px;
  padding: 0 1em;
  content: 'ルール３';
  color: #fff;
  background: #3baffb;
}

span.sidourule4 {
  position: relative;
  padding: 1rem 2rem;
  text-align: left;
  border: 3px solid #3baffb;
  margin: 10px auto;
  width: 100%;
  display: block
}

span.sidourule4:before {
  font-size: 1.5rem;
  position: absolute;
  line-height: 36px;
  top: -36px;
  left: -3px;
  padding: 0 1em;
  content: 'ルール４';
  color: #fff;
  background: #3baffb;
}

span.sidourule5 {
  position: relative;
  padding: 1rem 2rem;
  text-align: left;
  border: 3px solid #3baffb;
  margin: 10px auto;
  width: 100%;
  display: block
}

span.sidourule5:before {
  font-size: 1.5rem;
  position: absolute;
  line-height: 36px;
  top: -36px;
  left: -3px;
  padding: 0 1em;
  content: 'ルール５';
  color: #fff;
  background: #3baffb;
}

span.sidourule6 {
  position: relative;
  padding: 1rem 2rem;
  text-align: left;
  border: 3px solid #3baffb;
  margin: 10px auto;
  width: 100%;
  display: block
}

span.sidourule6:before {
  font-size: 1.5rem;
  position: absolute;
  line-height: 36px;
  top: -36px;
  left: -3px;
  padding: 0 1em;
  content: 'ルール６';
  color: #fff;
  background: #3baffb;
}

/** ここまで **/

/** 指導日以外のサポート **/

p.sidou_infotx {
  font-size: 1.15rem;
  line-height: 28px;
  width: 65%;
  margin: 0 auto;
  text-align: left;
}


/** ここまで **/

/** 指導プラン **/

.plan_wmimg{
  display: block;
  height: fit-content;
  max-width: 80%;
}

.plan_infofbox {
  max-width: 90%;
  margin: 0 auto;
  padding: 0;
}

.planbox_fx{
  display: flex;
}

ul.plan_list {
  list-style: none;
  text-align: left;
  margin: 0 auto 0 0px;
  padding: 20px 0 20px 0;
}

li.plan_listli {
  font-size: 1.2rem;
  line-height: 25px;
  padding: 8px 0px 8px 5px;
}

span.smkome_tx {
  font-size: 1rem;
  color: red;
  font-weight: bold;
}

h5.plan_cstssidou {
  position: relative;
  padding: 1.5rem 2rem;
  color: #fff;
  border-radius: 10px;
  background: #69d297;
  width: 80%;
  margin: 0 auto;
  font-size: 1.4rem;
  text-align: left;
  text-shadow: 1px 1px 2px #a7a7a7;
}

h5.plan_cstssidou:after {
  position: absolute;
  bottom: -9px;
  left: 1em;
  width: 0;
  height: 0;
  content: '';
  border-width: 10px 10px 0 10px;
  border-style: solid;
  border-color: #69d297 transparent transparent transparent;
}

p.sidou_plantx {
  font-size: 1.15rem;
  line-height: 28px;
  width: 80%;
  margin: 0 auto;
  border-bottom: solid 1px #a7a7a7;
  border-left: solid 1px #a7a7a7;
  border-right: solid 1px #a7a7a7;
  border-radius: 0 0 23px 23px;
  padding: 2%;
  text-align: left;
}

.nyukaikin {
  width: 40%;
  margin: 40px auto 0px;
  border: solid 1px #c1c1c1;
}

/** ここまで **/

/** 指導料金 **/

span.ryoukin_ti {
  font-size: 1.7rem;
  font-weight: bold;
  display: block;
  border-bottom: solid 1px #dcdcdc;
  background-color: #e4f779;
  padding: 5px 0;
}

p.ryoukin_in {
  font-size: 2.3rem;
  font-weight: bold;
  margin: 0 auto;
  color: red;
}

span.plus {
  font-size: 2.5rem;
  font-weight: bold;
  display: block;
}

.base_sidou {
  width: 100%;
  margin: 0 auto;
  padding: 10px 0 0;
}

.base_box {
  margin: 0 auto;
  border: solid 1px #a7a7a7;
  width: 90%;
}

.col-lg-12.plan_boxfx {
  display: flex;
  width: 100%;
  margin: 0 auto;
  padding: 0;
}

.col-lg-12.base_plan {
  background: #abf98b;
  line-height: 55px;
  font-size: 1.35rem;
  font-weight: bold;
}

.col-lg-6.base_ryoukin {
  line-height: 55px;
  background: #eaeaea;
  font-size: 1.35rem;
  font-weight: bold;
}

.col-lg-12.base_planop {
  background: #59acff;
  line-height: 55px;
  font-size: 1.35rem;
  font-weight: bold;
  border-right: solid 1px #a7a7a7;
}

p.pl_txplf {
  margin: 47px auto 0;
  font-size: 1.2rem;
}

p.pl_txprt {
  font-size: 1.2rem;
  margin: 10px 0;
}

.col-lg-6.base_plan.intx_bd {
  border-right: solid 1px #a7a7a7;
}

.col-lg-6.plan_intx.intx_bd {
  border-right: solid 1px #a7a7a7;
}

p.pl_txp {
  padding: 0;
  margin: 10px auto 10px;
  font-size: 1.2rem;
}

.col-lg-6.plan_intx.intx_bd.intxbdb{
  border-bottom: solid 1px #a7a7a7;
}

.col-lg-6.plan_intx.intxbdb{
  border-bottom: solid 1px #a7a7a7;
}

.col-lg-12.base_box2 {
  width: 90%;
  margin: 0 auto 10px;
  border-left: solid 1px #a7a7a7;
  border-right: solid 1px #a7a7a7;
  border-bottom: solid 1px #a7a7a7;
  padding: 0;
}

.plan_service {
  line-height: 55px;
  background: #ffe587;
  font-size: 1.2rem;
  font-weight: bold;
}

ul.pl_sv_ul {
  list-style: none;
  padding: 10px 0 0 0;
}

ul.pl_sv_ul li {
  font-size: 1.2rem;
  line-height: 35px;
}

/** ここまで **/

/** お支払方法 **/

.row.pay_row{
  width: 80%;
}

.pay_box{
  padding: 6% 0 8%;
}

.payname{
  margin: 7% auto 4%;
}

.payblock{
  margin: 0 auto 5%;
}

/** ここまで **/

/** お問合わせ・お申し込み **/

.toimou_ti {
  font-size: 2rem;
  letter-spacing: -0.05em;
  margin: 0 auto 5%;
}

button.btn.btn-success.pt-2.pb-2.pl-2.pr-2.shadow {
  width: 80%;
  font-size: 1.15rem;
}

button.btn.btn-primary.pt-2.pb-2.pl-2.pr-2.shadow {
  width: 80%;
  font-size: 1.15rem;
}

/** ここまで **/

/** 申し込みフォーム作成し直し版 **/
/** confirm.php **/
.conf_box_w {
  max-width: 50%;
  margin: 0 auto;
}

.conf_box {
  max-width: 100%;
  margin: 0 auto;
}

.conf_box2 {
  max-width: 100%;
  margin: 0 auto;
}

th.confirm_th {
  background: #f3e541;
}

.table-bordered td, .table-bordered th {
  border: 1px solid #6a6a6b;
}

.col.col-md-6 {
  flex: 0 0 60%;
  max-width: 100%;
  margin: 0 auto;
}

.container-fluid.contents {
  margin-top: 5.4rem;
}

.container-fluid.contents h2 {
  text-align: center;
}

#form_entry h3 {
  text-align: center;
  width: 100%;
  margin: 10px auto 20px;
}

.col.col-md-6.mt-5 {
  margin-top: 0.5rem!important;
}

h3.crecomp_ti {
  font-size: 1.5rem;
  text-align: center;
  margin: 10px auto 20px auto;
}

/** ここまで **/

/** クレジット決済 **/

section#form_credit p {
  margin: 20px auto 20px;
}

.form_box {
  width: 100%;
  margin: 0 auto;
}

/** ここまで **/

/** 会社概要・会員規約・プライバシー共通 **/

.col.col-md-6.mt-5.info_w {
  flex: 0 0 50%;
  max-width: 100%;
  margin: 0 auto;
}

/** ここまで **/

/** 会社概要 **/

h2.info_h2 span {
  font-size: 0.8rem;
  display: block;
  color: #999;
  text-align: center;
}

table.tbl-base {
  margin: 0 auto;
  width: 100%;
}

table.tbl-base tr {
  border-bottom: solid 1px;
  margin: 0 auto;
  line-height: 35px;
}

table.tbl-base th {
  width: 37%;
  font-size: 1rem;
  text-indent: 2em;
}

table.tbl-base td {
  font-size: 1rem;
  line-height: 25px;
  padding: 10px 0;
}

.access {
  width: 100%;
  margin: 30px auto 0;
}

.access h3 {
  margin: 0 auto 17px;
  font-size: 1.5rem;
  text-align: center;
}

.access ul {
  width: 100%;
  margin: 0 auto;
  padding: 0;
}

/** ここまで **/

/** 会員規約 **/

h2.info_h2 span {
  font-size: 0.8rem;
  display: block;
  color: #999;
  text-align: center;
}

.kiyaku_box {
  margin: 10px auto 0;
}

.kiyaku_box h3 {
  font-size: 0.95rem;
  text-align: center;
  margin: 0 auto 15px auto;
}

.kiyaku_box p {
  font-size: 0.95rem;
  line-height: 22px;
}

.kiyaku_box h3 span {
  max-width: 100%;
  margin: 0 auto;
  border-bottom: solid 2px #f4511e;
  line-height: 25px;
  padding: 0 7px;
}

/** ここまで **/

/** プライバシーポリシー **/

h2.info_h2.priv {
  font-size: 1.5rem;
}

.privacy_box {
  margin: 10px auto 0;
}

.privacy_box h4 {
  text-align: center;
  font-size: 0.95rem;
}

p.priv_tx {
  font-size: 0.95rem;
}

h3.kojin {
  font-size: 1.1rem;
  text-align: center;
  margin: 30px auto 15px;
}

.privacy_box p {
  font-size: 0.95rem;
  line-height: 22px;
  margin: 0 auto 30px;
}

.privacy_box ol {
  margin: 0 auto 20px;
}

/** ここまで **/

/** クレジット決済 **/

.creh2{
  margin: 1rem auto 1.5rem;
  font-weight: bold;
}

.creurl_box p{
  margin: 0 auto;
  line-height: 25px;
}

.remou {
  width: 100%;
  margin: 2rem auto 0;
}

.payment_button {
  display: block;
  margin: 40px auto 0 auto;
}

.payment_button input {
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.15em;
  display: block;
  width: 250px;
  padding: 10px;
  margin: 0 auto 40px auto;
  cursor: pointer;
  color: #fff;
  border-radius: 4px;
  background-color: #007bff;
  border-color: #007bff00;
}

.payment_button input:hover{
  background-color: #138496;
}

.suptel {
  width: 100%;
  margin: 0 auto;
  text-align: center;
}

.freetel{
  font-size: 1.2rem;
  font-weight: bold;
  margin: 0 auto;
  color: #007bff;
}

.optime {
  font-size: .95rem;
}

/** ここまで **/

/** クレジット決済完了画面 **/

.crecmp_box {
  width: 41%;
  margin: 10% auto 0;
}

.crecmp_ti {
  font-size: 1.4rem;
  text-align: center;
  font-weight: bold;
  color: #555;
  margin: 0 auto 1.3rem;
}

.cre_msg {
  padding: 0 1rem;
  margin: 0 auto 2.5rem;
}

.cre_msg p {
  font-size: 1rem;
  line-height: 1.7rem;
}

.retbtn {
  background: #007bff;
  color: #fff;
  font-size: 1.1rem;
  padding: 1rem;
  margin: 0 auto 2.5rem;
  text-align: center;
  width: 250px;
  display: block;
  border-radius: 4px;
}

.retbtn:hover {
  color: #fff;
  text-decoration: none;
  background: #138496;
}

  /** クレジット決済完了のフッター **/

  .footer_box{
    padding: 0;
  }
  
  .footmenu {
    font-size: .85rem;
  }

  .clt_ar {
    font-size: .75rem;
    letter-spacing: -.02em;
  }
  
  /** ここまで **/


/** ここまで **/

.fontc_333{
  color: #565656;
}

video#video {
  height: 100%;
}

div.info_button a{
  text-decoration: none;
  cursor: pointer;
}

section#kiyaku h2.kiyaku{
  font-size: 22px;
  margin-bottom: 1%;
  color: #036;
  text-shadow: 3px 3px 3px #ccc;
  border-bottom: 1px dotted #999;
  padding-bottom: 10px;
}

section#privacy h2.privacy{
  font-size: 22px;
  margin-bottom: 1%;
  color: #036;
  text-shadow: 3px 3px 3px #ccc;
  border-bottom: 1px dotted #999;
  padding-bottom: 10px;
}

section#about h2.about{
  font-size: 22px;
  margin-bottom: 1%;
  color: #036;
  text-shadow: 3px 3px 3px #ccc;
  border-bottom: 1px dotted #999;
  padding-bottom: 10px;
}

.fancolor{
  color: #ea9610;
}

.feelcolor{
  color: #258b29;
}

.coolcolor{
  color: #1c43e5;
}

.font_space{
  letter-spacing: -0.09em;
}

div#page_top{
  width: 60px;
  height: 60px;
  position: fixed;
  right: 10px;
  bottom: 20px;
  opacity: 0.6;
}
div#page_top a{
  width: 60px;
  height: 60px;
  text-decoration: none;
}
div#page_top a::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f139';
  font-size: 50px;
  color: #012cff;
}

.tellink:hover{
  text-decoration: none;
}

.kiyaku_bt:hover{
  text-decoration: none;
}

/** ログイン収納ボタン **/

.in-out {
  position: absolute;
  top: 90px;
  right: 0px;
  width: 100px;
  height: 50px;
  background-color: #fbd933f0;
  box-shadow: 2px 2px 4px rgba(0,0,0,.2);
  border: solid 2px #fff;
  border-radius: 4px;
}
.in-out button,
.in-out-label {
  position: absolute;
  border: none;
  width: 95px;
  height: 50px;
  transition: all .3s;
  cursor: pointer;
}
.in-out button {
  top: 0;
  opacity: 0;
  z-index: 10;
}
.in-out-label {
  z-index: 20;
}
.in-out-label span {
  position: absolute;
  display: block;
  transition: all .3s;
}
.in-out-label .tate {
  color: #fff;
  text-align: center;
  line-height: 50px;
  width: 100%;
  text-shadow: 1px 1px 2px #555;
  font-weight: bold;
}

.in-out input[type="checkbox"] {
  display: none;
}

.in-out input[type="checkbox"]:checked + .in-out-label .tate {
  height: 0;
}

.in-out input[type="checkbox"]:checked ~ button {
  opacity: 1;
  width: 115px;
  box-shadow: 2px 2px 4px rgba(0,0,0,.5);
}

.in-out input[type="checkbox"]:checked ~ .button1 {
  top: 165px;
  left: -17px;
  background: #d24f5b;
  border: solid 2px #fff;
  border-radius: 3px;
}

.in-out input[type="checkbox"]:checked ~ .button2 {
  top: 110px;
  left: -17px;
  background: #4fd26b;
  border: solid 2px #fff;
  border-radius: 3px;
}

.in-out input[type="checkbox"]:checked ~ .button3 {
  top: 55px;
  left: -17px;
  background: #4f6fd2;
  border: solid 2px #fff;
  border-radius: 3px;
}

.in-out input[type="checkbox"]:checked ~ button:hover {
  box-shadow: 0px 0px 1px rgba(0,0,0,.5);
}

.log_btn_in{
  display: block;
  color: #fff;
}

a.log_btn_in:hover{
  text-decoration: none;
  color: #fff;
}

div#privacy_box h3 {
  font-size: 1.2rem;
}

/** ここまで **/


@media screen and (min-width: 768px) and (max-width: 1040px) {

  h1 {
    margin-right: 0;
    margin-bottom: 0;
  }

  .main-info h2{
    top: 40px;
    right: 40px;
  }

  nav.navbar.navbar-expand-md.navbar-light.bg-light {
    padding: 0.5rem 0 0;
  }

  .navbar-expand-md .navbar-nav .nav-link {
    padding-right: .2rem;
    padding-left: .2rem;
  }

  li.nav-item {
    line-height: 3.5rem;
    font-size: 1.05rem;
    margin: 0 1px;
  }

  /**変更前予備
    li.nav-item {
    line-height: 2.5rem;
    font-size: 1.05rem;
    margin: 0 1px;
  }

  **/

  a.nav-link{
    margin: 5px auto 0;
  }

  i.fas.fa-phone-square.d-inline-block {
    font-size: 1.8rem;
  }

  p.p-1.m-1.ml-3.h4.text-center {
    display: none;
  }

  .main-info2 h2{
    top: 120px;
    right: 40px;
  }

  a.navbar-brand {
    margin-right: 0;
  }

  img.logo_pc{
    display: block;
    width: 80%;
  }

  img.logo_sp{
    display: none;
  }

  img.logo_pc2{
    display: block;
    width: 80%;
  }

  a.nav-link {
    font-size: 0.79em;
    letter-spacing: -0.01rem;
  }

  .tellink {
    display: none;
  }

  .mou_button{
    padding: .4rem 1rem .4rem;
    font-size: 1.1rem;
  }

  .img-fluid {
    margin: 0 auto;
    display: block;
  }

  h2.text-center.mb-5.h1.font_space {
    font-size: 2rem;
  }

  .features-icons {
    padding-top: 1rem;
  }

  .features-icons .features-icons-item {
    max-width: 50rem;
  }

  h4.sidou_infoti span{
    font-size: 1.3rem;
    width: 50%;
  }
  
  .showcase .showcase-text {
    padding: 2rem;
  }

  .showcase .showcase-img {
    margin: 0 auto 3rem auto;
  }

  .font_space {
    text-align: center;
    margin: 0 auto 1rem auto;
  }

  .showcase .showcase-text h2{
    text-align: center;
    margin: 0 auto 1rem auto;
  }

  .row.pay_row {
    flex-wrap: initial;
  }

  p.card-text.h1.text-primary.font-weight-bold a.tellink {
    display: block;
  }

  .col-sm-4 {
    -ms-flex: 0 0 33.333333%;
    flex: none ;
    max-width: 100%;
  }

  .container {
    max-width: 100%;
    padding: 0;
  }

  .row {
    margin: 0 auto;
  }

  .col-lg-12 {
    padding: 0;
  }

  /** 予約から受講までの流れ **/

  
  /** ここまで **/

  /** 会社概要・会員規約・プライバシー共通 **/

  .col.col-md-6.mt-5.info_w {
    flex: 0 0 80%;
    max-width: 100%;
    margin: 0 auto;
  }

  /** ここまで **/

  /** クレジット決済完了画面 **/

  .crecmp_box{
    width: 50%;
  }

  /** ここまで **/


}

/* Medium devices (desktops, 992px and up) */
@media screen and (min-width: 992px) {

  .container {
  max-width: 1110px;
  padding: 0;
  }

  h1 {
  margin-right: 0px;
  margin-bottom: 0px;
  }

  img.logo_pc{
    display: block;
    width: 80%;
  }

  img.logo_pc2{
    width: 80%;
    margin: 0 auto;
    display: block;
  }

  a.navbar-brand {
    margin-right: 1rem;
  }

  nav.navbar.navbar-expand-md.navbar-light.bg-light {
    padding-bottom: 0.5rem;
  }

  p.p-1.m-1.ml-3.h4.text-center {
    display: block;
  }

  .tell_ipad {
    display: none;
  }

  img.logo_sp{
    display: none;
    width: 100%;
  }

  .tellink {
    display: block;
  }

  .col-sm-4 {
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }

  p.h5.toi {
    font-size: 1rem;
    letter-spacing: -0.1em;
  }

  h5.card-title.h2.text-primary.font-weight-bold {
    font-size: 1.5rem;
  }

  button.btn.btn-primary.pt-2.pb-2.pl-5.pr-5.shadow {
    font-size: 0.9rem;
  }

  p.card-text.h1.text-primary.font-weight-bold {
    font-size: 2.4rem;
  }

  .call-to-action {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}

/** iphone6 7 8 X 375pxから767px **/
@media screen and (max-width:767px) {
  header div.row {
    padding: 0rem 0rem;
    margin: 0 0 1rem;
    font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif!important;
  }

  header div.container{
    padding: 0;
  }

  .navbar-expand-md .navbar-nav .nav-link {
    font-size: 1.1rem;
    padding-right: .3rem;
    padding-left: .3rem;
  }

  a.nav-link {
    font-size: 0.85em;
  }

  div.comp_box h1{
    display: block;
    padding: 0;
  }

  .top_msg{
    font-size: 1.15rem;
    color: #fff;
    border-bottom: dotted 2px #fff;
    margin: 12px auto 10px auto;
    text-shadow: 0px 2px 1px #000;
  }

  header.masthead {
    padding: 1rem 0 1rem;
    margin: 0 auto 1.5rem auto;
  }

  h1,h2,h3,h4,h5,h6{
    font-family:"Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  }

  header.masthead .overlay {
    background-color: #2D2D2D;
  }

  header.masthead h1{
    font-size: 1.6rem;
    text-shadow: 0px 2px 1px #000;
  }

  header div.row {
    padding: 0rem 1rem;
  }

  li.nav-item{
    margin: 0 auto;
  }

  li.nav-item.btn.btn-warning.ml-2.mou_button{
    width: 40%;
    margin: 0 auto 10px!important;
  }

  .col-xl-9.mx-auto.border {
    border: solid 1px #fff;
  }

  span.top_space{
    display: block;
    padding: 1rem 0 0;
    width: 100%;
    margin: 0 auto -3rem;
  }

  .top_title {
    padding: 0.7rem 0.3rem;
    border: solid 1px #fff;
    font-size: 1.4rem;
    font-weight: bold;
    border-radius: 30px;
    box-shadow: 4px 3px 5px #454545;
    text-shadow: 0px 2px 3px #454545;
    margin: 1rem auto 15px;
    background-color: rgba(247, 181, 31, 0.28);
  }

  p.top_txt {
    color:#fff;
    margin-bottom: 0.2rem;
    text-align: left;
    margin: 3rem auto 1rem;
    line-height: 23px;
    text-shadow: 0px 2px 1px #000;
  }

  span.kigaru_txt{
    display: block;
    font-size: 1.65rem;
    color: #fff;
    text-align: center;
    margin: 20px auto 30px auto;
    text-shadow: 1px 2px 2px #111;
  }

  .down_arrow {
    font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
    font-size: 3.5rem;
    line-height: 25px;
    text-align: center;
  }

  /*.features-icons {
    padding: 2rem 0!important;
  }*/

  section.features-icons.bg-light {
    background-color: #fff!important;
  }

  section.features-icons {
    padding: 0;
  }

  .conv_box h3{
    font-size: 1.6rem;
    text-align: center;
  }

  span.icon-envelope {
    padding: 10px 0 20px;
    font-size: 3.5rem;
    line-height: 35px;
    display: block;
    color:#FF9193;
    text-shadow: 0px 1px 1px #aaa;
  }

  span.icon-pencil {
    padding: 10px 0 20px;
    font-size: 3.5rem;
    line-height: 35px;
    display: block;
  }

  p.form_ti {
    font-weight: bold;
  }

  button.btn.btn-primary.btn-lg.btn-block {
    padding: .5rem 1rem;
    margin: 20px auto 15px;
    font-size: 1.55rem;
    line-height: 1.5;
    border-radius: 0rem;
    background: #007bff;
    border: solid 0;
  }

  h3.cop_titx{
    color: #fff;
  }

  h3.info_box{
    margin: 1em 0;
    position: relative;
    padding: 0.25em 0.4em;
    border: solid 5px #ffcb8a;
    border-radius: 3px 0 3px 0;
  }

  h3.info_box:before,h3.info_box:after{
    content: '';
    position: absolute;
    width:10px;
    height: 10px;
    border: solid 3px #ffcb8a;
    border-radius: 50%;
  }

  h3.info_box:after {
    top:-12px;
    left:-12px;
  }

  h3.info_box:before {
    bottom:-12px;
    right:-12px;
  }

  h3.info_box p {
    margin: 0; 
    padding: 0;
  }

  .border_kakko{
    font-size: 1.35rem;
    position: relative;
    padding: 0.25em 1em;
    margin: 2em 0;
    top: 0;
  }

  .top_info_ti.zigzag {
    font-size: 1.4rem;
    line-height: 30px;
    padding: 0 0 5px 0;
  }

  .first_img_pcbox{
    display: block;
  }

  .first_img_spbox{
    display: none;
  }

  .border_kakko:before, .border_kakko:after{ 
    position: absolute;
    top: 0;
    content:'';
    width: 10px;
    height: 100%;
    display: inline-block;
    box-sizing: border-box;
  }

  .border_kakko:before{
    border-left: solid 5px #007BFF;
    border-top: solid 2px #007BFF;
    border-bottom: solid 2px #007BFF;
    left: 0;
  }
  .border_kakko:after{
    border-top: solid 2px #007BFF;
    border-right: solid 5px #007BFF;
    border-bottom: solid 2px #007BFF;
    right: 0;
  }
  .border_kakko p {
    margin: 0; 
    padding: 0;
  }

  div.soudan_info{
    margin: 0 auto 10px auto;
  }

  .cong_st_tx{
    text-align: left;
  }

  .space_area.icon-pencil{
    margin: 25px auto;
  }

  .taiken_rei{
    font-size: 1.6rem;
    padding: 0.2em 1em;
    margin: 1em 0;
    border-bottom: solid 5px #788FFF;
  }

  div.cong_st_box h4 {
    font-size: 1.25rem;
    margin: 20px auto 10px auto;
    /*border-bottom: solid 2px #a7a7a7;*/
    padding: 0 0 5px 0;
  }

  span.cop_titx {
    font-size: 1.7rem;
    font-weight: bold;
    display: block;
    margin: 1rem auto 15px auto;
    border-bottom: dotted 3px #aca6a6;
    padding: 0 0 3px 0;
    /*color: #fff;*/
    text-shadow: 0px 2px 0px #fff;
  }

  span.font_weight{
    font-weight: bold;
    border-bottom: solid 1px #aca6a6;
  }

  h3 span.cop_ti {
  display: block;
    font-size: 1.5rem;
    font-weight: bold;
    margin: 10px auto 0.8rem auto;
  }

  p.cop_ftx span {
    padding: 0 10px;
    font-size: 1.55rem;
    margin: 5px auto 6px;
    text-shadow: 0px 1px 0px #fff;
    font-weight: bold;
  }

  p.cop_info_tx {
    font-size: 1rem;
    line-height: 22px;
    text-align: left;
  }

  .taiken_title{
    padding: 0.5em 1em;
    margin: 2em 0;
    color: #474747;
    border-left: double 7px #4ec4d3;/*左線*/
    border-right: double 7px #4ec4d3;/*右線*/
  }
  .taiken_title span {
    margin: 0; 
    padding: 0;
  }

  .cong_st_end{
    text-align: left;
    margin: 0 auto 30px auto;
  }

  h4.soudan_haya{
    font-weight: bold;
    font-size: 1.6rem;
  }

  h3.mail_kaku {
    padding: 10px 0 5px;
    font-weight: bold;
  }

/*  div.form_box h3 {
    font-size: 1.3rem;
    margin: 10px auto 20px;
    border-bottom: solid 1px #a7a7a7;
    padding: 0 0 5px 0;
  }
*/

  div.form-group{
    font-size: 1.3rem;
    -webkit-appearance: none;
  }

  span.form_in_title {
    font-size: 1.4rem;
    width: 100%;
    -webkit-appearance: none;
  }

  span.form_in_title{
    font-size: 1.4rem;
  }

  span.badge.badge-danger {
    margin: 0 auto 0 15px;
  }

  span.badge.badge-success {
    margin: 0 auto 0 15px;
  }

  /** 予約から受講までの流れ **/


  /** ここまで **/

  /** 指導日以外のサポート **/

  p.sidou_infotx {
    width: 85%;
  }
  

  /** ここまで **/

  /** メールフォーム **/

  .mail_form_ti{
    font-size: 1.3rem;
    margin: 0 auto 20px;
    font-weight: bold;
  }

  input#formGroupExampleInput {
    font-size: 1.2rem;
    padding: 25px 10px;
  }

  input#formGroupExampleInput2 {
    font-size: 1.2rem;
    padding: 25px 10px;
  }

  div.form-group input#staticEmail {
    font-size: 1.2rem;
    padding: 25px 10px;
  }

  textarea#textarea1{
    font-size: 1.1rem;
  }

  input[type="text"],
  input[type="email"] {
    height: 30px;
    font-size: 16px;
  }
  textarea {
    height: 100px;
    font-size: 16px;
  }

  p.cong_back {
    text-align: center;
    display: block;
    padding: 10px;
    border: solid 1px #2d8aea;
    border-radius: 4px;
    width: 60%;
    margin: 0 auto 20px;
    background: #2d8aea;
    color: #fff;
    box-shadow: 0px 8px 4px #a7a7a7;
  }

  p.cong_back a:link {
    color: #fff;
  }

  /** メールフォーム **/
  footer.footer{
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
}

@media screen and (max-width: 767px) {
    h1 {
      margin: 0 auto 0 auto;
      padding: 0 0 0 1%;
      font-size: 1.5em;
      width: 80%;
    }

    img.logo_pc {
      display: none;
    }

    img.logo_sp {
      display: block;
      width: 50%;
      margin: 0 auto;
    }

    img.logo_pc2{
      display: none;
    }
    
    div.form-group{
      background: #fff;
    }

    a.navbar-brand.mr-0 {
      margin: 1% auto 0;
    }

    nav.navbar.navbar-expand-md.navbar-light.bg-light {
      width: auto;
      margin: 0 auto;
      padding: .5rem 1rem 0 1rem;
    }

    span.ryoukin_ti {
      color: #333;
    }

    .col-lg-6.plan_intx {
      padding: 0 5px;
    }

    ul.pl_sv_ul li {
      font-size: 1.1rem;
      line-height: 35px;
    }

    .col-lg-6.base_planop {
      font-size: 1.2rem;
    }

    p.pl_txp {
      font-size: 1rem;
    }

    .nyukaikin {
      width: 90%;
    }

    .container {
      max-width: 100%;
      padding: 0;
    }

    /** 統一 **/
    .main-info h2{
      top: 10px;
      right: 5px;
      font-size: 1.3em;
    }

    .main-info2 h2{
      top: 80px;
      right: 5px;
      font-size: 1.3em;
    }

    p.nav-item.btn.btn-success.text-light.ml-2.mou_button.p-0.mt-3 {
      display: none;
    }

    .intro_cover div.container{
      padding: 0;
      max-width: 100%;
    }

    .row{
      margin: 0;
    }

    .col-lg-12{
      padding: 0;
    }
    /** 統一 **/

    .sinro_ti {
      font-size: 1.4rem;
      margin: 20px auto 10px;
  }

    span.first_ti {
      font-size: 1.4rem;
      line-height: 25px;
      border-bottom: solid 1px #a7a7a7;
      padding: 0 0 .6%;
      display: block;
      width: 30%;
      margin: 0 auto;
    }

    span.second_ti {
      font-size: 1.8rem;
      padding: 0;
      line-height: 45px;
      display: block;
      width: 95%;
      margin: 0 auto;
    }

    /** 指導プラン **/

    .plan_wmimg{
      display: none;
    }

    /** ここまで **/

    /** 予約から受講まで **/

    .sidou_rootbox{
      display: flex;
      width: 90%;
    }

    .sidou_stepbox{
      width: 80%;
      height: 100%;
      margin: 0 10px;
    }

    .sidou_stepbox h5{
      font-size: 1.6rem;
      margin: 15px auto 10px;
    }

    .step_img {
      width: 100%;
      height: auto;
    }

    .sidou_roottx{
      font-size: 1rem;
      margin: 20px auto 0px;
      padding: 8px;
      color: #fff;
      background-color: #3baffb;
    }
    /** ここまで **/

    /** お支払い方法 **/

    .pay_box{
      margin: 0 auto 5%;
    }

    .payname{
      margin: 7% auto 4%;
    }

    .payblock{
      margin: 0 auto 5%;
    }

    /** ここまで **/

    /** 登録・お問い合わせフォーム **/
    .col.col-md-6 {
      flex: 0 0 80%;
      max-width: 100%;
      margin: 0 auto;
    }
    /** ここまで **/

    /** クレジット決済 **/
    .container.credit_sq {
      padding: 0;
    }
    /** ここまで **/

    /** 会社概要・会員規約・プライバシー共通 **/

    .col.col-md-6.mt-5.info_w {
      flex: 0 0 70%;
      max-width: 100%;
      margin: 0 auto;
    }

    /** ここまで **/

    /** 会社概要 **/

    table.tbl-base {
      margin: 0 auto;
      width: 100%;
    }

    table.tbl-base tr {
      border-bottom: solid 1px;
      margin: 0 auto;
      line-height: 35px;
    }

    table.tbl-base th {
      width: 37%;
      font-size: 0.9rem;
      text-indent: 0;
    }

    table.tbl-base td {
      font-size: 0.9rem;
      line-height: 20px;
      padding: 10px 0;
    }

    .access {
      width: 100%;
      margin: 30px auto 0;
    }

    .access h3 {
      margin: 0 auto 17px;
      font-size: 1.1rem;
      text-align: center;
    }

    .access ul {
      width: 100%;
      margin: 0 auto;
      padding: 0;
    }

    /** ここまで **/

    /** 会員規約 **/

    /** ここまで **/

    /** プライバシーポリシー **/

    h2.info_h2.priv {
      font-size: 1.5rem;
    }

    /** ここまで **/

    /** クレジット決済完了画面 **/

    .crecmp_box {
      width: 65%;
      margin: 15% auto 0;
    }

    .cre_msg {
      padding: 0 .5rem;
    }

      /** クレジット決済完了のフッター **/
      
      
      /** ここまで **/
    
    
    /** ここまで **/
}

@media (min-width: 576px) and (max-width: 768px){
  h2.text-center.mb-5.h1 {
    letter-spacing: -0.05em;
    }

  .col-sm-4 {
    -ms-flex: none;
    flex: none;
    max-width: none;
  }

  .card-img-top{
    display: none;
  }

  .card{
    border: none;
  }

  li.nav-item {
    font-size: .9rem;
    margin: 0 auto;
  }

  /**変更予備
  li.nav-item {
    font-size: .9rem;
    margin: 0 4px;
  }
  **/

  .mou_button {
    padding: .4rem .5rem .4rem;
  }

  h4.sidou_infoti span{
    font-size: 1.3rem;
    width: 70%;
  }

}

@media screen and (min-width: 481px) and (max-width: 767px) {

  /** 会社概要・会員規約・プライバシー共通 **/

  .col.col-md-6.mt-5.info_w {
    flex: 0 0 90%;
    max-width: 100%;
    margin: 0 auto;
  }
  /** ここまで **/
  
  h4.sidou_infoti span{
    width: 80%;
  }

  span.first_ti {
    font-size: 1.4rem;
    line-height: 25px;
    border-bottom: solid 1px #a7a7a7;
    padding: 0 0 .6%;
    display: block;
    width: 40%;
    margin: 0 auto;
  }

  span.second_ti {
    font-size: 1.8rem;
    padding: 0;
    line-height: 45px;
    display: block;
    width: 95%;
    margin: 0 auto;
  }

}

@media screen and (min-width: 480px) {
    h2.top_info_ti{
      margin-top: 0em;
    }

    .container-fluid.contents h2 {
      font-size: 1.7rem;
      margin: 0 auto;
    }

    h3.text-center.my-2 {
      font-size: 1.3rem;
    }

    #form_entry h3 {
      font-size: 1.4rem;
      margin: 5px auto 20px auto;
    }
}

@media screen and (min-width: 481px) {
    div.main-container{
      display: block;
    }
    
    div.main-container_sp{
      display: none;
    }
}

@media screen and (max-width: 480px) {

    img.logo_sp {
      display: block;
      width: 80%;
      margin: 0 auto;
    }

    nav.navbar.navbar-expand-md.navbar-light.bg-light {
      padding: .5rem 1rem 0 1rem;
    }

    li.nav-item.btn.btn-warning.ml-2.mou_button{
      width: 80%;
      margin: 0 auto 10px!important;
    }

    li.nav-item{
      margin: 0 auto;
    }

    button.navbar-toggler {
      padding: .3rem;
      margin: 0 0 0 10px;
    }

    div.main-container{
      display: none;
    }

    div.main-container_sp{
      display: block;
    }

    div.form-group{
      background: #fff;
    }

    .main-v{
      margin-top: 2.8rem;
    }

    h2.text-center.mb-3.h1 {
      font-size: 1.8rem;
    }

    .showcase .showcase-text {
      padding: 1rem;
    }

    .container {
      padding: 0;
    }

    .sp_h2{
      font-size: 1.6rem;
      text-align: center;
    }

    .showcase .showcase-img {
      min-height: 17rem;
    }

    h2.text-center.mb-5.h1.font_space {
      font-size: 1.3rem;
    }

    h2.mb-5.mt-5.text-center.h1 {
      font-size: 1.8rem;
    }

    h2.text-center.mb-5.h1 {
      font-size: 1.3rem;
      letter-spacing: -0.03em;
    }

    .call-to-action {
      padding-top: 2rem;
    }

    p.h5.toi {
      font-size: 1.2rem;
      letter-spacing: -0.1em;
    }

    h5.card-title.h2.text-primary.font-weight-bold {
      font-size: 1.8rem;
    }

    p.card-text.h1.text-primary.font-weight-bold {
      font-size: 2.3rem;
    }

    p.nav-item.btn.btn-success.text-light.ml-2.mou_button.p-0.mt-3 {
      display: none;
    }

    .card-img-top{
      display: none;
    }

    .card{
      border: none;
    }

    .first_img_pcbox{
      display: none;
    }

    .first_img_spbox{
      display: block;
    }

    span.br_on_of {
      display: block;
      line-height: 5px;
    }

    span.first_sp_tx {
      border: solid 1px #a7a7a7;
      display: block;
      padding: 10px;
      margin: 5px;
      font-size: 1.05rem;
      line-height: 25px;
    }

    .top_info_ti.zigzag {
      font-size: 1.4rem;
      line-height: 25px;
      padding: 1% 0 3% 0;
    }

    h2.text-center.mt-3.mb-4.h1.font_space {
      font-size: 1.28rem;
      font-weight: bold;
    }

    .sinro_pc{
      display: none;
    }

    .sinro_sp{
      display: block;
    }

    .sidouhou_eye_pc{
      display: none;
    }

    .sidouhou_eye_sp{
      display: block;
    }

    h4.contents_ti {
      font-size: 1.3rem;
      padding: 0 2%;
    }

    h4.sidou_infoti span{
      font-size: 1.25rem;
      width: 80%;
    }

    span.first_ti {
      font-size: 1.4rem;
      line-height: 25px;
      border-bottom: solid 1px #a7a7a7;
      padding: 0 0 .6%;
      display: block;
      width: 45%;
      margin: 0 auto;
    }

    span.second_ti {
      font-size: 1.8rem;
      padding: 0;
      line-height: 45px;
      display: block;
      width: 95%;
      margin: 0 auto;
    }

    .sidouyoyaku_span{
      display: flex;
    }

    ul.sidou_ul li {
      padding: 0 5px 0 0;
    }

    span.sidoutejyun{
      width: 29%;
      line-height: 45px;
      font-size: 0.8em;
      margin: 0 21px 0 0;
    }

    span.yoyaku_step{
      font-size: 1rem;
      line-height: 24px;
      display: block;
      padding: 14px 0 14px;
      width: 68%;
    }

    .plan_infofbox{
      display: block;
    }

    p.sinro_tx {
      font-size: 1.1rem;
      max-width: 100%;
      padding: 0 4%;
    }

    /** 指導方法 **/

    p.sidou_ontx {
      padding: 0 4%;
      font-size: 1.1rem;
    }

    /** ここまで **/

    /** 指導プラン **/

    p.sidou_plantx {
      font-size: 1.05rem;
      line-height: 27px;
      margin: 0 auto;
      padding: 3%;
    }

    .eyecatch{
      display: none;
    }
    
    .eyecatch_sp{
      display: block;
    }

    /** ここまで **/

    /** 予約から受講まで **/

    .sidou_rootbox{
      display: block;
      width: 90%;
    }

    .sidou_stepbox{
      width: 90%;
      height: 100%;
      margin: 0 auto 20px;
      padding: 0px;
      border: solid 3px #3baffb;
      border-radius: 5px;
    }

    .sidou_stepbox h5{
      font-size: 1.5rem;
      margin: 15px auto 10px;
      font-weight: bold;
      text-align: center;
      color: #3baffb;
    }

    .step_img1 {
      width: 100%;
      height: auto 200px;
      display: block;
      background-image: url(../img/step_img1.png);
      background-size: 100%;
      background-repeat: no-repeat;
    }

    .step_img2 {
      width: 100%;
      height: auto 200px;
      display: block;
      background-image: url(../img/step_img2.png);
      background-size: 100%;
      background-repeat: no-repeat;
    }

    .sidou_roottx{
      font-size: 1rem;
      margin: 20px auto 0px;
      padding: 8px;
      color: #fff;
      background-color: #3baffb;
    }
    /** ここまで **/

    /** 受講中のルール **/

    ul.sidou_ul2{
      width: 90%;
      padding: 0;
      margin: 50px auto 0;
    }

    span.sidourule{
      padding: .6rem .6rem;
    }

    span.sidourule2{
      padding: .6rem .6rem;
    }

    span.sidourule3{
      padding: .6rem .6rem;
    }

    span.sidourule4{
      padding: .6rem .6rem;
    }

    /** 指導プラン **/

    .planinfo{
      padding: 0;
    }

    h5.plan_cstssidou {
      padding: 1rem;
      font-size: 1rem;
    }

    p.sidou_infotx{
      font-size: 1rem;
      line-height: 25px;
    }

    /** ここまで **/

    /** 指導料金 **/

    .col-lg-6.base_planop {
      font-size: 1.1rem;
      letter-spacing: -0.09em;
    }

    /** ここまで **/

    /** お支払い方法 **/

    p.contents_tx {
      font-size: 1rem;
      max-width: 100%;
    }

    .siharai_ti {
      font-size: 1.45rem;
    }

    .pay_box{
      margin: 0 auto 5%;
    }

    .payname{
      margin: 7% auto 4%;
    }

    .payblock{
      margin: 0 auto 5%;
    }

    /** ここまで **/
    
    /** お問い合わせ・お申し込み **/
    
    .toimou_ti {
      font-size: 1.4rem;
      letter-spacing: -0.05em;
      margin: 0 auto 5%;
    }

    button.btn.btn-success.pt-2.pb-2.pl-2.pr-2.shadow {
      width: 100%;
      font-size: 1.2rem;
    }

    button.btn.btn-primary.pt-2.pb-2.pl-2.pr-2.shadow {
      width: 100%;
      font-size: 1.2rem;
    }

    /** ここまで **/

    /** 登録・問合せフォーム **/

    .container-fluid.contents h2 {
      font-size: 1.6rem;
      margin: 0 auto;
    }

    h3.text-center.my-2 {
      font-size: 1.3rem;
    }

    #form_entry h3 {
      font-size: 1.3rem;
      margin: 0 auto 15px auto;
    }

    .form-group.form-check.mt-4 {
      padding-left: 0;
    }

    .col.col-md-6 {
      flex: 0 0 100%;
      max-width: 100%;
      margin: 0 auto;
    }

    /** ここまで **/

    /** 会社概要・会員規約・プライバシー共通 **/

    .col.col-md-6.mt-5.info_w {
      flex: 0 0 100%;
      max-width: 100%;
      margin: 0 auto;
    }

    /** ここまで **/

    /** 会社概要 **/


    table.tbl-base tr {
      border-bottom: solid 1px;
      margin: 0 auto;
      line-height: 35px;
    }

    table.tbl-base th {
      width: 37%;
      font-size: 0.9rem;
      text-indent: 0;
    }

    table.tbl-base td {
      font-size: 0.9rem;
      line-height: 20px;
      padding: 10px 0;
    }

    .access {
      width: 100%;
      margin: 30px auto 0;
    }

    .access h3 {
      margin: 0 auto 17px;
      font-size: 1.1rem;
      text-align: center;
    }

    .access ul {
      width: 100%;
      margin: 0 auto;
      padding: 0;
    }

    /** ここまで **/

    /** 会員規約 **/

    .kiyaku_box h3 {
      font-size: 0.85rem;
      text-align: center;
      margin: 0 auto 15px auto;
    }

    .kiyaku_box p {
      font-size: 0.85rem;
    }

    /** ここまで **/

    /** プライバシーポリシー **/

    .privacy_box ol {
      margin: 0 auto;
      padding: 0 9px;
    }

    /** ここまで **/

    /** クレジット決済完了画面 **/

    .crecmp_box {
      width: 90%;
      margin: 23% auto 0;
    }

    .cre_msg {
      padding: 0;
    }

    .cre_msg p {
      line-height: 1.5rem;
    }

      /** クレジット決済完了のフッター **/
      
      /** ここまで **/
    
        
    /** ここまで **/
    


/** ログイン収納ボタン **/

    .in-out {
      position: absolute;
      top: 90px;
      right: 7px;
      width: 100px;
      height: 50px;
      background-color: #fbd933f0;
      box-shadow: 2px 2px 4px rgba(0,0,0,.2);
      border: solid 2px #fff;
      border-radius: 4px;
    }

    .in-out button,
    .in-out-label {
      position: absolute;
      border: none;
      width: 95px;
      height: 50px;
      transition: all .3s;
      cursor: pointer;
    }

    .in-out button {
      top: 0;
      opacity: 0; 
      z-index: 10;
    }

    .in-out-label {
      z-index: 20;
    }

    .in-out-label span {
      position: absolute;
      /*background-color: #aaa;*/
      display: block;
      transition: all .3s;
    }

    .in-out input[type="checkbox"] {
      display: none;
    }

    .in-out input[type="checkbox"]:checked + .in-out-label .tate {
      height: 0;
      /*top: 25px;*/
    }

    .in-out input[type="checkbox"]:checked ~ button {
      opacity: 1;
      width: 115px;
      box-shadow: 2px 2px 4px rgba(0,0,0,.5);
    }

    .in-out input[type="checkbox"]:checked ~ .button1 {
      top: 165px;
      left: -17px;
    }

    .in-out input[type="checkbox"]:checked ~ .button2 {
      top: 110px;
      left: -17px;
    }

    .in-out input[type="checkbox"]:checked ~ .button3 {
      top: 55px;
      left: -17px;
    }

    .in-out input[type="checkbox"]:checked ~ button:hover {
      box-shadow: 0px 0px 1px rgba(0,0,0,.5);
    }

    .log_btn_in{
      /*background-color: #ddd;*/
      display: block;
      /*width: 100px;
      height: 50px;*/
    }

    a.log_btn_in:hover{
        text-decoration: none;
    }

  /** ログイン収納ボタン **/
}

@media screen and (max-width: 320px) {

    h1 {
      margin: 0 auto 0 auto;
      padding: 1% 0 1% 1%;
      font-size: 1.5em;
      width: 80%;
      height: 60px;
    }

    img.logo_sp {
      display: block;
      width: 90%;
      margin: 0 auto;
    }

    h2.mt-1.mb-4.text-center.fontc_333.top_info_ti {
      font-size: 1.7rem;
    }

    .top_info_ti.zigzag {
      font-size: 1.3rem;
    }

    h2.mb-5.mt-5.text-center.h1 {
      font-size: 1.5rem;
      letter-spacing: -0.1em;
    }

    .sp_h2 {
      font-size: 1.4rem;
    }

    p.contents_tx {
      font-size: 1.15rem;
    }

    .sinro_ti {
      font-size: 1.4rem;
      margin: 10px auto 20px;
    }

    span.first_ti {
      font-size: 1.3rem;
      line-height: 30px;
      border-bottom: solid 1px #a7a7a7;
      padding: 0 2% .5%;
      display: block;
      width: 65%;
      margin: 0 auto;
    }

    span.second_ti {
      font-size: 1.6rem;
      padding: 4% 0 0;
      line-height: 20px;
      display: block;
      width: 95%;
      margin: 0 auto;
    }    

    p.sinro_tx {
      font-size: 1.1rem;
      max-width: 95%;
      padding: 0;
  }

    p.sidou_ontx {
      max-width: 90%;
      line-height: 25px;
    }

    h2.text-center.mt-3.mb-4.h1.font_space {
      font-size: 1.6rem;
      letter-spacing: -0.01em;
      line-height: 30px;
    }

    span.sidoutejyun {
      width: 37%;
      line-height: 35px;
      padding: 2rem 0.5rem 2rem 2rem;
      margin: 0 10px 0 auto;
    }

    h4.sidou_infoti span {
      width: 90%;
    }

    h4.contents_ti {
      letter-spacing: -0.05em;
      line-height: 29px;
    }

    h5.plan_cstssidou {
      padding: 1.5rem 1rem;
    }
    .col-lg-6.base_plan.intx_bd {
      font-size: 1.15rem;
    }

    p.pl_txprt {
      font-size: 1rem;
    }

    ul.pl_sv_ul li {
      font-size: 1rem;
      line-height: 29px;
      letter-spacing: -0.05em;
    }

    .col-lg-6.base_planop {
      font-size: 1rem;
    }

    .col-lg-6.base_ryoukin {
      font-size: 1rem;
    }

    /** コーニン・サポの４つの特徴 **/

    .tokuchou_box {
      padding: 0;
      margin: 5% auto 0;
    }

    .tokuchou_ti{
      font-size: 1.1rem;
      line-height: 25px;
      margin: 0 auto 10%;
    }

    /** ここまで **/

    /** 指導方法 **/
    p.sidou_ontx {
      padding: 0;
      font-size: 1.1rem;
    }    

    /** ここまで **/

    /** 受講中のルール **/


    /** ここまで **/

    /**  指導プラン **/

    .csr_ti {
      font-size: 1.15rem;
      line-height: 2rem;
    }
    
    h4.contents_ti {
      margin: 10px auto 5px;
    }

    h5.plan_cstssidou {
      width: 90%;
      text-align: center;
    }

    p.sidou_plantx {
      width: 90%;
    }

    /** ここまで **/

    .siharai_ti {
      font-size: 1.35rem;
    }

    /** お支払い方法 **/

    .payname{
      margin: 7% auto 3%;
    }
    /** ここまで **/

    /** お問い合わせ・お申し込み **/

    .toimou_ti {
      font-size: 1.3rem;
      letter-spacing: -0.1em;
      margin: 0 auto 5%;
    }

    .freebox{
      padding: 3% 1%;
    }

    p.h5.toi {
      font-size: 1.1rem;
    }

    h5.card-title.h2.text-primary.font-weight-bold {
      font-size: 1.5rem;
    }
    
    button.btn.btn-success.pt-2.pb-2.pl-2.pr-2.shadow {
      width: 100%;
      font-size: 1.2rem;
    }

    button.btn.btn-primary.pt-2.pb-2.pl-2.pr-2.shadow {
      width: 100%;
      font-size: 1.2rem;
    }


    /** ここまで **/


    /** 会社概要 **/

    table.tbl-base tr {
      border-bottom: solid 1px #a7a7a7;
      margin: 0 auto;
      line-height: 35px;
    }

    table.tbl-base th {
      width: 37%;
      font-size: 0.9rem;
      text-indent: 0;
    }

    table.tbl-base td {
      font-size: 0.9rem;
      line-height: 20px;
      padding: 10px 0;
    }

    .access {
      width: 100%;
      margin: 30px auto 0;
    }

    .access h3 {
      margin: 0 auto 17px;
      font-size: 1.1rem;
      text-align: center;
    }

    .access ul {
      width: 100%;
      margin: 0 auto;
      padding: 0;
    }

    /** ここまで **/

    /** 会員規約 **/

    /** ここまで **/

    /** プライバシーポリシー **/

    h2.info_h2.priv {
      font-size: 1.5rem;
    }

    /** ここまで **/

    /** クレジット決済完了画面 **/

    .crecmp_box {
      width: 85%;
      margin: 27% auto 0;
    }

    .cre_msg {
      margin: 0 auto 1.8rem;
    }

      /** クレジット決済完了のフッター **/

      .footer_li {
        font-size: .95rem;
      }
      
      /** ここまで **/

    
    /** ここまで **/

}

