@charset "UTF-8";
/* CSS Document */


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

/*-------------------------------------------------------------------------------------
スマホ用レイアウト（768px以下スクリーン）
----------------------------------------------------------------------------------------*/

/*--------------------------------------------------
共通設定(スマホ)
-----------------------------------------------------*/
	
/*body全体の初期スタイル調整*/
body {
	width: 100%;
  -webkit-text-size-adjust:100%;
	-ms-text-size-adjust:100%;
}
    /*--------------------------------------------------
全体レイアウト／背景設定（スマホ）
-----------------------------------------------------*/
/*記事(ボディ)エリア*/
.article {
  background-color: #fff;
  border-left: none;
  border-right: none;
  font-size: 1.7em; /*=17px*/
}
/*記事(ボディ)エリアの行間*/
.article p {
  line-height: 1.6;
}

.article{
	width: 100%;
    overflow: hidden;
}

/*カラム全体の幅を変更する*/
.top_image_in,.section_inr {
  width: 100%;
  margin: 0 auto; 
}
    
    .pc_img { display: none !important; }
    .sp_img { display: block !important; }
    
/*--------------------------------------------------
上部固定ヘッダー設定
-----------------------------------------------------*/
/*上部固定ヘッダー全体*/
.header {
  display: none;
}
/*ヘッダー内部をカラム幅にする*/
.header_inr {
  max-width: 100%;
  margin: 0 auto;
  overflow: hidden;
}
/*ヘッダーのロゴ*/
.header_logo {
  width: 40%;
  float: none;
  padding: 0;
  margin: 0.5em auto;
}
/*ヘッダーの問い合わせボタン*/
.header_btn {
 display: none;
}


 /*--------------------------------------------------
見出しタグ設定（スマホ）
-----------------------------------------------------*/
  
h2 {
    font-size: 2em;
    line-height: 1.3;
  }
  .tit_txt  {
    font-size: 20px;  
    line-height: 1.3;
  }
  .sp_tit {
    margin-bottom: 15px;
  }
  
  h3 {
      position: relative;
      padding-top: 30px;
      font-size: 24px;
      border-bottom: 2px solid #4d5cb0;
    margin: 0 0 0.5em;
    line-height: 1.4;
    padding-left: 5px;
  }
  
  h3 span {
      position: relative;
      z-index: 2;
  }
  
  h3::before {
      content: attr(data-en);
      position: absolute;
      top: 0px;
      left: 0;
      color: rgba(77,92,176,0.2);
      font-size: 40px;
      text-transform: uppercase;
      z-index: 1;
  }
  
  
  h4 {
      display: flex;
      justify-content: center;
      align-items: center;
      font-size: 20px;
      text-align: center;
    margin: 0;
  }
  
  h4::before,
  h4::after {
      content: '';
      width: 3px;
      height: 40px;
      background-color: #4d5cb0;
  }
  
  h4::before {
      margin-right: 15px;
      transform: rotate(-35deg)
  }
  h4::after {
      margin-left: 15px;
      transform: rotate(35deg)
  }
  
  h5 {
    font-size: 1.3em;
    font-weight: 600;
    padding:  0.5em;
    margin: 0.5em -0.5em ;
    text-align: center;

  }
  
  
  h6 {
    position: relative;
    padding: 0.25em 0;}
  
  h6:after {
    content: "";
    display: block;
    height: 4px;
    background: -webkit-linear-gradient(to right, rgb(255, 186, 115), #ffb2b2);
    background: linear-gradient(to right, rgb(255, 186, 115), #ffb2b2);}
  
    

/*--------------------------------------------------
sectionの設定
-----------------------------------------------------*/

.section_01 {
    padding: 2em 0;
  }
  .section_02 {
    padding: 2em 0em ;
  
  }
  
  .section_03 {
    padding: 0 0 2em;
  }
  .sankaku {
    width: 30%;
    margin: 0 auto 2em;
  }
  
  .section_04 {
    background-position: top center;
    padding: 2em 0;
  }
  
  .section_05 {
    background-position: top center;
    padding: 2em 0;
  }
  .section_06 {
    padding: 2em 0;
  }
  
  .section_07 {
      padding: 2em 0em  ;
  }
  .section_09 {
    padding: 2em 0;
  }
  

/*--------------------------------------------------
ファーストビュー設定
-----------------------------------------------------*/
.top_image {
  background-image: none;
}

/*--------------------------------------------------
CTA
-----------------------------------------------------*/
.section_cta {
    padding: 1em 0  ;
  
  }
  .tit_cta_price {
    width: 70%;
    margin: 0 auto 1em;
  }
  
  .logo_cta {
    width: 95%;
    margin: 0 auto;
  }
  
  .num_cta {
    width: 98%;
    margin: 0 auto;
  }
  
  .section_cta_free {
    padding: 2em 0  ;
  }

  .tit_free_taiken {
    width: 95%;
    margin: 0 auto 1em;
  }
  
  
  .box_vimeo {
    float: none;
    width: 90%;
    margin: 0 auto;
  }
  .img_vimeo {
    float: none;
    width: 98%;
    margin: 1em auto 0;
  }
  
  .section_free_btn {
    background-image: url("../images/bg_free_taiken.svg");
    background-size: cover;
    padding: 2em 0  ;
  }
  .btn_free_taiken {
    width: 95%;
    margin: 0 auto;
  }
  

  /*--------------------------------------------------
ABOUT
-----------------------------------------------------*/
.about {
    width: 30%;
    margin: 0 auto 0.5em;
  }
  
  
  .ctn_about {
    margin-top: 1em;
  }
  .txt_about01 {
    float: none;
    width: 95%;
    margin: 0 auto;
    padding-top: 0;
  }
  .img_about01 {
    float: none;
    width: 85%;
    margin: 1em auto;
  }
  
  .txt_about02 {
    float: none;
    width: 95%;
    padding-top: 0;
    margin: 0 auto;
  }
  .img_about02 {
    float: none;
    width: 95%;
    margin: 1.5em auto 0;
    background: rgba(255,255,255,0.9);
    padding: 1em ;
  }
  
  .img_skil {
    width: 100%;
    margin: 1em auto 2em;
  }
  .ctn_skil {
    display: block;
  }
  .box_skil {
    width: 90%;
    margin: 1em auto 0;
  }
  
  /*--------------------------------------------------
  悩み
  -----------------------------------------------------*/
  .tit_nayami {
      width: 98%;
      margin: 0 auto 1em;
  }
  .ctn_nayami {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    margin: 1em 0.5em;
  }
  .box_nayami {
    width: 48%;
    padding: 0 0.5em 1em;
    margin: 0.5em 0;

  }
  .img_nayami {
    width: 80%;
    margin: 0 auto 10px;
  }
  .box_nayami p {
    font-size: 1.2em;
    font-weight: bold;
  line-height: 1.4;
  text-align: center;
  
  }
  
  /*--------------------------------------------------
  講師紹介
  -----------------------------------------------------*/
  .coach {
    width: 30%;
    margin: 0 auto 0.5em;
  }
  
  .box_coach {
   padding-top: 2em;
  }
  
  .img_coach01 {
    float: none;
    width: 95%;
    margin: 0 auto;
  }
  .img_coach02 {
    float: none;
    width: 95%;
    margin: 0 auto;
  }
  
  .txt_coach {
    background-color: #fff;
    padding: 6em 1em 1em;
    margin-top: -5em;
  }
  
  /*--------------------------------------------------
  reason
  -----------------------------------------------------*/
  .reason {
    width: 30%;
    margin: 0 auto 1em;
  }
  
  .ctn_reason {
    margin: 1em 0.5em ;
    padding: 1em ;
    position: relative;
  }
  .txt_reason {
      float: none;
      width: 100%;
  }
  .img_reason {
    float: none;
    width: 95%;
    padding-top: 15px;
    padding-left: 0;
  }
  
  
  .txt_reason2 {
    float: none;
    width: 100%;
    padding-top: 1em;
  }
  .img_reason2 {
    float: none;
    width: 100%;
    padding-right: 0;
    padding-top: 10px;
  }
  .img_mail {
    width: 100%;
    margin: 10px auto;
  }
  
  
  .txt_reason03 {
    float: none;
    width: 100%;
    padding-top: 0;
  }
  .img_reason03 {
  float: none;
  width: 90%;
  margin: 10px auto 0;
  }
  
  .img_hikaku {
    width: 700px;
    margin: 1em 0.5em;
  }
.sp_scroll {
    width: 90%;
    margin: 0.5em auto 0;
}
  /*--------------------------------------------------
  スケジュール
  -----------------------------------------------------*/


.sec_session {
  padding: 2em 0;
}
.box_session {

  margin: 1em 0 0;
  padding: 1em 0.5em;
}
.box_session img{
  display: block;
  width: 100%;
  margin: 0 auto;

}

  
  /*--------------------------------------------------
  price
  -----------------------------------------------------*/
  .price {
    width: 30%;
    margin: 0 auto 1em;
  }
  
  
  .ctn_plan {
    width: 95%;
    margin: 1em auto 0;
    flex-wrap: wrap;
    justify-content: center;
  }
  
  .box_plan {
    width: 90%;
    margin-bottom: 20px;
  }
  
  /*--------------------------------------------------
  voice
  -----------------------------------------------------*/
  .voice {
    width: 30%;
    margin: 0 auto 1em;
  }
  
  .box_voice {
    margin: 1em 0.5em 0;
    padding: 1em;
  }
  
  .img_voice {
    float: none;
    width: 70%;
    padding: 0;
    margin: 0 auto;
  }
  
  /*--------------------------------------------------
  無料カウンセリング
  -----------------------------------------------------*/
  .sec_soudan {
    padding: 2em 0.5em ;
  
  }
  .btn_soudan {
    width: 100%;
    margin: 1em auto 0;
  }
  
  
  /*--------------------------------------------------
  flow
  -----------------------------------------------------*/
  .flow {
      width: 28%;
      margin: 0 auto 0.5em;
    }

  .flow10 {
    padding: 0;
  }
  
  .flow_design10 {
    margin-top: 1em;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 95%;
    margin: 0 auto;
  }
  .img_flow {
    float: none;
    width: 80%;
    margin: 0 auto 10px;
  }
  
  .flow10 > li {
    list-style-type: none;
    background-color: #fff;
    box-shadow: 0px 0px 15px -5px #777777;
  border-radius: 10px;
    padding: 20px;
    border-radius: 20px;
  }
  
  .flow10 > li:not(:last-child) {
    margin-bottom: 40px;
    position: relative;
  }
  
  .flow10 > li:not(:last-child)::after {
    content: '';
    position: absolute;
    border: 15px solid transparent;
    width: 0;
    height: 0;
    bottom: -40px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    border-top-color: #4d5cb0;
  }
  
  .flow10 > li dl dt {
    font-size: 1.2em;
    line-height: 1.3;
    font-weight: bold;
    border-bottom: 2pt dashed #ccc;
    padding-bottom: 0.5em;
    margin-bottom: 0.5em;
  }
  
  .flow10 > li .icon10 {
    color: #4d5cb0;
    margin-right: 0.5em;
  }
  
  .flow10 > li dl dd {
    margin: 0;
    line-height: 1.5;
  }
  
/*--------------------------------------------------
よくある質問
-----------------------------------------------------*/
.faq {
    width: 26%;
    margin: 0 auto 1em;
}



.accordion {
    max-width: 95%;
    padding: 1em 0em ;
    text-align: left;
    margin: 0 auto;
}

/*------------------------------

ここからアコーディオンのCSS

------------------------------*/
/* チェックボックスは非表示 */
.accordion-hidden {
    display: none;
}

/* Question部分 */
.accordion-open {
    display: block;
    padding: 1em 2.5em 1em 1em;
    cursor: pointer;
    margin: 5px 0;
    position: relative;
    color: #4d5cb0;
    font-weight: bold;
    text-align: left;
    /* 変更部分 */
}

/* 開閉状態を示すアイコン+の作成 */
.accordion-open::before,
.accordion-open::after {
    content: '';
    width: 15px;
    height: 2px;
    background: #4d5cb0;
    position: absolute;
    top: 50%;
    right: 3%;
    transform: translateY(-50%);
}

/* 一本は縦にして+を作る */
.accordion-open::after {
    transform: translateY(-50%) rotate(90deg);
    transition: .5s;
}

/* アコーディオンが開いたら縦棒を横棒にして-にする */
.accordion-hidden:checked + .accordion-open:after {
    transform: translateY(-50%) rotate(0);
}

/* Answer部分 */
.accordion-close {
    display: block;
    height: 0;
    overflow: hidden;
    padding: 0;
    opacity: 0;
    transition: 0.5s;
    /* 表示速度の設定 */
}

/* チェックボックスにチェックが入ったらAnswer部分を表示する */
.accordion-hidden:checked + .accordion-open + .accordion-close {
    height: auto;
    opacity: 1;
    background: #dbdeef;
    padding: 10px 1.5em;

}



    /*--------------------------------------------------
最終CTA
-----------------------------------------------------*/

.btn_last_taiken {
  float: none;
  width: 95%;
  margin: 0 auto 10px;

}
.btn_last_soudan {
  float: none;
  width: 95%;
  margin: 0 auto ;
}
  

    /*--------------------------------------------------
下部固定ヘッダー（スマホ）
-----------------------------------------------------*/


    .menu_left {
        float: left;
        width: 50%;
        padding: 1em 0.2em;
    }

    .menu_right {
        float: right;
        width: 50%;
        padding: 1em 0.2em;
    }
#sp_btn {
        display: block!important;
        width: 100%;
        background:rgba(0,0,0,0.5);
        text-align: center;
        padding: 0.5em 0em;
        transition: .3s;
    }
        
 #sp_btn img {
        width: 100%;
    }
    
.fixed {
        position: fixed;
        bottom: 0px;
        left: 0px;
        z-index: 100000;
        
    }



/*--------------------------------------------------
フッター部分
-----------------------------------------------------*/
.footer {
  padding: 2em 1em 10em;
  font-size: 1.2em;
}
}