@charset "utf-8";

/*--------------------------------------------------------------------------
   Header
---------------------------------------------------------------------------*/
#Header.top{
  position: relative;
  display: flex;
  justify-content: flex-end;
}
#Header.top .nav_con{
  width: 260px;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  background: #ffffff;
}
#Header.top .nav_con .inner{
  position: relative;
}
#Header.top .nav_con .catch{
  color: #0071BB;
  font-weight: 500;
  padding: 30px 35px;
  text-align: center;
}
#Header.top h1.ttl{
  text-align: center;
}
#Header.top h1.ttl .pc{
	margin-top: 35px;
	margin-left: 28px;
}
#Header.top .nav_con.small{
  padding-top: 80px;
}


.menu_btn{
  position: fixed;
  left: 0;
  top: 0;
  display: none;
  padding: 12px 20px 15px 20px;
  z-index: 100;
  background: #ffffff;
  cursor: pointer;
}
.menu_btn.active{
  display: block;
}


.menu_btn .menu-trigger,
.menu_btn .menu-trigger span{
  display: inline-block;
  box-sizing: border-box;
  transition: all .4s;
}
.menu_btn .menu-trigger{
  position: relative;
  width: 32px;
  height: 25px;
  padding: 20px 15px;
}
.menu_btn .menu-trigger a:hover{
  opacity: 1;
}
.menu_btn .menu-trigger span{
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  border-radius: 2px;
  background-color: #0071BB;
}
.menu_btn .menu-trigger span:nth-of-type(1){
  top: 23px;
}
.menu_btn .menu-trigger span:nth-of-type(2){
  top: 11px;
}
.menu_btn .menu-trigger span:nth-of-type(3){
  bottom: 3px;
}
.menu_btn .menu-trigger.active span:nth-of-type(1),
.menu_btn .menu-trigger.active span:nth-of-type(2){
  top: 15px;
  margin-top: 10px;
  transform: rotate(-45deg);
}
.menu_btn .menu-trigger.active span:nth-of-type(3){
  bottom: 0;
  margin-bottom: 12px;
  transform: rotate(-135deg);
}
.menu_btn p{
  letter-spacing: -1px;
  color: #0071BB;
}




#Header.top .nav_con .global_navi{
  width: 260px;
  margin-top: 30px;
}

#Header.top .nav_con .drop_con {
}
#Header.top .nav_con .drop_con .nav {
}
#Header.top .nav_con .drop_con .nav li {
  text-align: center;
  list-style: none;
  height: 44px;
}
#Header.top .nav_con .drop_con .nav li a {
  display: block;
  background: #ffffff;
  color: #3E3A39;
  font-size: 14px;
  line-height: 2.8;
  text-decoration: none;
  box-sizing: border-box;
  height: 44px;
  text-align: left;
    padding: 0px 20px 0 65px;
}
#Header.top .nav_con .drop_con .nav li ul li a{
    padding: 0px 20px;	
}
#Header.top .nav_con .drop_con .nav li a.arrow{
  background-image: url(../images/common/arrow_r_b.png);
  background-repeat: no-repeat;
  background-size: 10px 10px;
  background-position: 96% center;
}
#Header.top .nav_con .drop_con .nav > li:hover > a {/*layer-1*/
  background: #DDECF8;
  opacity: 1;
}
#Header.top .nav_con .drop_con .nav > li:hover > a.arrow{
  background-image: url(../images/common/arrow_r_b.png);
  background-repeat: no-repeat;
  background-size: 10px 10px;
  background-position: 96% center;
}
#Header.top .nav_con .drop_con .nav li ul {
  display: none;
  position: relative;
  top: -44px;
  left: 100%;
  width: 260px;
}
#Header.top .nav_con .drop_con .nav li li a{
  background: #CCE7EC;
}
#Header.top .nav_con .drop_con .nav li li a:hover{
  background: #0071BB;
	color: #ffffff;
  opacity: 1;
}
#Header.top .nav_con .nav > li li:hover > a {/*layer-2*/
}

#Header.top .nav_con .drop_con .group_name{
  background: #F2F0F0;
  text-align: center;
  padding: 10px 0;
}

#Header.top .btn_box{
  position: absolute;
  top: 0;
  right: 285px;
  z-index: 10;
}
#Header.top .btn_box ul{
  display: flex;
}
#Header.top .btn_box ul li{
}
#Header.top .btn_box ul li a{
  display: block;
  padding: 15px 10px;
  text-align: center;
  font-size: 1.6rem;
  box-sizing: border-box;
  color: #0071BB;
}

#Header.top .btn_box ul li.mail_btn a{
  padding-left: 50px;
  background-image: url(../images/common/icon_mail.jpg);
  background-repeat: no-repeat;
  background-size: 27px 17px;
  background-position: 15px center;
}

#Header.top .fix_login_box{
  position: fixed;
  top: 120px;
  left: 0;
  z-index: 10;
}

#Header.top .mv{
  width: calc(100% - 260px);
}
#Header.top .mv .slider-pro{
}
#Header.top .mv .slider-pro .sp-slides .sp-slide{
}
#Header.top .mv .txt_box{
  position: absolute;
  bottom: 0;
  right: 0;
  padding: 10px 30px;
  color: #0071BB;
  text-align: center;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  background: #ffffff;
}
#Header.top .mv .txt_box .ttl{
  font-weight: 500;
  font-size: 2.4rem;
}

/*--------------------------------------------------------------------------
   Content
---------------------------------------------------------------------------*/


/* Main
-----------------------------------------------------------------*/

#Main section{
}

/*--------------------------------------------------------------------------
   Footer
---------------------------------------------------------------------------*/


/* top
-----------------------------------------------------------------*/

/* #Sec01
-----------------------------------------------------------------*/
.top #Sec01{
  padding: 0 20px;
  margin-top: 30px;
}
.top #Sec01 .inner{
  max-width: 1020px;
  margin: 0 auto;
  position: relative;
  padding: 60px 0 100px;
}
.top #Sec01 h3.ttl{
  top: 50px;
}
.top #Sec01 .value_box{
  margin-top: 80px;
}
.top #Sec01 .value_box ul{
  display: flex;
  justify-content: space-between;
}
.top #Sec01 .value_box ul li{
  width: 31.5%;
  text-align: center;
  position: relative;
  background: #E4E4E4;
}
.top #Sec01 .value_box ul li .num{
  color: #0071BB;
  font-size: 7rem;
  position: absolute;
  top: -37px;
  left: auto;
  right: auto;
  width: 100%;
  line-height: 7rem;
}
.top #Sec01 .value_box ul li .txt_box{
  padding: 80px 15px;
  font-size: 2rem;
}
.top #Sec01 .value_box ul li .gr_btn{
  position: absolute;
  bottom: -25px;
  width: 100%;
  text-align: center;
}
.top #Sec01 .value_box ul li .gr_btn a{
  margin: 0 auto;
}

/* #Sec02
-----------------------------------------------------------------*/
.top #Sec02{
  padding: 0 20px;
  margin: 60px 0 20px;
  background-color: #CAE6EB;
}
.top #Sec02 .inner{
  max-width: 1020px;
  margin: 0 auto;
  position: relative;
  padding: 120px 0 50px;
  background-image: url(../images/top/img_01.png);
  background-repeat: no-repeat;
  background-size: 300px auto;
  background-position: right bottom 40px;
}
.top #Sec02 .txt{
  font-size: 3rem;
  line-height: 4.4rem;
  margin-left: 50px;
}
.top #Sec02 .txt span{
  border-bottom: solid 4px #0071BB;
}
.top #Sec02 .gr_btn{
  margin: 60px 0 0 50px;
}

.flow_txt{
  background: #ffffff;
  padding: 10px 0;
}
.flow_txt p{
  text-align: center;
  font-size: 3rem;
}

/* #Sec03
-----------------------------------------------------------------*/
.top #Sec03{
  padding: 0 20px;
  background: #202E4A;
}
.top #Sec03 .inner{
  max-width: 1020px;
  margin: 0 auto;
  position: relative;
  padding: 80px 0 60px;
  background-image: url(../images/top/img_02.png);
  background-repeat: no-repeat;
  background-size: 103px 169px;
  background-position: right 35% center;
}
.top #Sec03 .flex_box{
  max-width: 920px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.top #Sec03 .flex_box .txt{
  color: #ffffff;
  font-size: 3rem;
}
.top #Sec03 .flex_box .txt span{
  margin-right: 30px;
  border-bottom: solid 4px #0071BB;
}

/* #Sec04
-----------------------------------------------------------------*/
.top #Sec04{
  margin-top: 80px;
  padding: 0 20px;
  background: #DDECF8;
}
.top #Sec04 .inner{
  max-width: 1020px;
  margin: 0 auto;
  position: relative;
  padding:30px 0 50px;
}
.top #Sec04 .cat_list{
  display: flex;
  justify-content: space-between;
  max-width: 552px;
  margin: 40px auto 0;
}
.top #Sec04 .cat_list li{
  width: 130px;
  text-align: center;
  border-radius: 5px;
  overflow: hidden;
}
.top #Sec04 .cat_list li a{
  display: block;
  color: #ffffff;
  padding: 3px 0;
  letter-spacing: 0;
}
.top #Sec04 .cat_list li.notice a{
  background: #202E4A;
}
.top #Sec04 .cat_list li.easy a{
  background: #00AEAD;
}
.top #Sec04 .cat_list li.course a{
  background: #2B8857;
}
.top #Sec04 .cat_list li.voice a{
  background: #0071BA;
}

.top #Sec04 .post_list{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 50px;
}
.top #Sec04 .post_list li{
  position: relative;
  max-width: 240px;
  margin-bottom: 10px;
}
.top #Sec04 .post_list:before{
  content: "";
  width: 240px;
  margin-bottom: 10px;
  order: 1;
}
.top #Sec04 .post_list:after{
  content: "";
  width: 240px;
  margin-bottom: 10px;
}
.top #Sec04 .post_list li a{
  position: relative;
  display: block;
}
.top #Sec04 .post_list li a .tag{
  position: absolute;
  left: 0;
  top: 0;
  width: 130px;
  padding: 3px 0;
  text-align: center;
  color: #ffffff;
  letter-spacing: 0;
}
.top #Sec04 .post_list li a .tag.notice{
  background: #202E4A;
}
.top #Sec04 .post_list li a .tag.easy{
  background: #00AEAD;
}
.top #Sec04 .post_list li a .tag.course{
  background: #2B8857;
}
.top #Sec04 .post_list li a .tag.voice{
  background: #0071BA;
}
.top #Sec04 .post_list li .img img{
  width: 100%;
  height: auto;
}
.top #Sec04 .post_list li a .txt_box{
  font-size: 1.6rem;
  margin-top: 5px;
}

.top #Sec04 .gr_btn a{
  margin: 10px auto 0;
}

/* #Sec05
-----------------------------------------------------------------*/
.top #Sec05{
  margin-top: 100px;
  padding: 0 20px;
  background-image: url(../images/top/img_03.jpg);
  background-size: cover;
  background-position: center;
}
.top #Sec05 .inner{
  max-width: 1020px;
  margin: 0 auto;
  position: relative;
  padding: 120px 0 50px;
}
.top #Sec05 .txt{
  color: #ffffff;
  font-size: 3rem;
  line-height: 4.4rem;
  margin-left: 50px;
}
.top #Sec05 .gr_btn{
  margin-top: 30px;
  margin-left: 50px;
}
.top #Sec05 .name{
  position: absolute;
  right: 0;
  bottom: 30px;
  color: #ffffff;
  font-size: 1.6rem;
  text-align: right;
}

/* #Sec06
-----------------------------------------------------------------*/
.top #Sec06{
  margin-top: 100px;
  padding: 0 20px;
  background: #CAE6EB;
}
.top #Sec06 .inner{
  max-width: 1020px;
  margin: 0 auto;
  position: relative;
  padding: 120px 0 50px;
  background-image: url(../images/top/img_04.png);
  background-repeat: no-repeat;
  background-size: 440px auto;
  background-position: right -70px bottom;
}
.top #Sec06 .txt{
  font-size: 3rem;
  line-height: 4.4rem;
  margin-left: 50px;
}
.top #Sec06 .gr_btn{
  margin-top: 30px;
  margin-left: 50px;
}


/* #Sec07
-----------------------------------------------------------------*/
.top #Sec07{
  margin-top: 50px;
	margin-bottom: 80px;
}
.top #Sec07 .inner{
  position: relative;
  background: #DDECF8;
  padding: 0 20px;
  margin-top: 50px;
}
.top #Sec07 .box{
  max-width: 1020px;
  margin: 0 auto;
  padding: 30px 0 80px;
}

.top #Sec07 .course_list{
  position: relative;
	text-align: center;
}
.top #Sec07 .course_list .flow_img{
	margin-right: 40px;
}

.top #Sec07 .txt{
	font-size: 2.4rem;
	font-weight: 500;
	margin: 50px 0 40px;
}

.top #Sec07 .course_list .couse{
  font-size: 2rem;
}
.top #Sec07 .course_list .couse a{
  display: block;
}
.top #Sec07 .course_list .couse a:hover{
  opacity: 0.7;
}
.top #Sec07 .course_list .couse .course_inner{
  position: relative;
}
.top #Sec07 .course_list .couse .course_inner p.txt{
  color: #ffffff;
  display: flex;
  align-items: center;
  padding: 0 70px 5px 20px;
  position: relative;
  z-index: 1;
  justify-content: center;
}
.top #Sec07 .course_list .couse .course_inner p.txt::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  transform: scaleY(1.3) perspective(3rem) rotateX(5deg);
  transform-origin: bottom left;
}

.top #Sec07 .course_list .couse .course_inner p.txt span{
  font-size: 4rem;
  margin-right: 15px;
}


.top #Sec07 .course_list .couse.step_01{
  width: 430px;
  position: absolute;
  top: 130px;
  left: 0;
  z-index: 2;
}
.top #Sec07 .course_list .couse.step_01 .course_inner{
  padding-left: 30px;
}
.top #Sec07 .course_list .couse.step_01 .course_inner:before{
  content: "";
  display: block;
  width: 66px;
  height: 182px;
  background: url(../images/top/img_06.png);
  background-size: 66px auto;
  position: absolute;
  left: 0;
  top: -70px;
  z-index: 2;
}
.top #Sec07 .course_list .couse.step_01 .course_inner p.txt{
  color: #222222;
}
.top #Sec07 .course_list .couse.step_01 .course_inner p.txt::before {
  background: #DDECF8;
}


.top #Sec07 .course_list .couse.step_02{
  width: 490px;
  position: absolute;
  top: 10px;
  left: 20%;
}
.top #Sec07 .course_list .couse.step_02 .course_inner{
  padding-right: 40px;
}
.top #Sec07 .course_list .couse.step_02 .course_inner:before{
  content: "";
  display: block;
  width: 74px;
  height: 192px;
  background: url(../images/top/img_05.png);
  background-size: 74px 192px;
  position: absolute;
  right: 0;
  bottom: -10px;
  z-index: 2;
}
.top #Sec07 .course_list .couse.step_02 .course_inner p.txt::before {
  background: #202E4A;
}
.top #Sec07 .course_list .couse.step_02 .course_inner p.catch{
  max-width: 360px;
  text-align: center;
  margin-bottom: 3px;
}

.top #Sec07 .course_list .couse.step_04{
  width: 750px;
  position: absolute;
  bottom: 0;
  right: 0;
}
.top #Sec07 .course_list .couse.step_04 .course_inner{
  padding-left: 50px;
}
.top #Sec07 .course_list .couse.step_04 .course_inner:before{
  content: "";
  display: block;
  width: 74px;
  height: 192px;
  background: url(../images/top/img_08.png);
  background-size: 74px 192px;
  position: absolute;
  right: 10px;
  bottom: -40px;
  z-index: 2;
}
.top #Sec07 .course_list .couse.step_04 .course_inner p.txt::before {
  background: #7CBEBE;
}
.top #Sec07 .course_list .couse.step_04 .course_inner p.catch{
  max-width: 640px;
  text-align: center;
  line-height: 2.8rem;
  margin-bottom: 10px;
}

.top #Sec07 .conversion_btn{
	margin: -35px auto 0;
	padding: 0 45px;
	position: relative;
	z-index: 2;
}

@media screen and (max-width: 1020px) {
/* 1020pxまでの幅の場合に適応される */
.top #Sec07 .course_list .couse.step_04{
  width: 520px;
  position: absolute;
  bottom: -40px;
  right: 0;
}
/* 1020pxまでの幅の場合に適応される */
}

/* #Sec08
-----------------------------------------------------------------*/
.top #Sec08{
  margin-top: 50px;
  padding: 0 20px;
}
.top #Sec08 .inner{
  max-width: 1020px;
  margin: 0 auto;
  position: relative;
  padding-bottom: 50px;
}
.top #Sec08 .course_list{
  margin-top: 40px;
  position: relative;
}
.top #Sec08 .course_list .couse a{
  display: block;
}
.top #Sec08 .course_list .couse a:hover{
  opacity: 0.7;
}
.top #Sec08 .couse.step_04:after{
  content: "";
  display: block;
  width: 100px;
  height: 267px;
  background: url(../images/top/img_07.png);
  background-size: 100px auto;
  position: absolute;
  right: 100px;
  top: -100px;
  z-index: 2;
}
.top #Sec08 .couse.step_05:after{
  content: "";
  display: block;
  width: 80px;
  height: 268px;
  background: url(../images/top/img_09.png);
  background-size: 80px 268px;
  position: absolute;
  right: 200px;
  top: 70px;
  z-index: 2;
}
.top #Sec08 .couse.step_06:after{
  content: "";
  display: block;
  width: 75px;
  height: 263px;
  background: url(../images/top/img_10.png);
  background-size: 75px 263px;
  position: absolute;
  right: 105px;
  top: 190px;
  z-index: 2;
}
.top #Sec08 .course_list .couse{
  font-size: 2rem;
}
.top #Sec08 .course_list .couse .course_inner{
  position: relative;
}
.top #Sec08 .course_list .couse .course_inner p.txt{
  color: #ffffff;
  display: flex;
  align-items: center;
  padding: 0 70px 5px 20px;
  position: relative;
  z-index: 1;
  justify-content: center;
}
.top #Sec08 .course_list .couse .course_inner p.txt::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  transform: scaleY(1.2) perspective(6rem) rotateX(5deg);
  transform-origin: bottom left;
}
.top #Sec08 .course_list .couse .course_inner p.txt span{
  font-size: 4rem;
  margin-right: 15px;
}
.top #Sec08 .course_list .couse{
  margin-top: 20px;
}
.top #Sec08 .course_list .couse.step_04{
}
.top #Sec08 .course_list .couse.step_04 .course_inner p.txt::before {
  background: #0071BB;
}
.top #Sec08 .course_list .couse.step_04 .course_inner p.catch{
  margin-bottom: 3px;
}
.top #Sec08 .course_list .couse.step_05{
}
.top #Sec08 .course_list .couse.step_05 .course_inner p.txt::before {
  background: #00AEAD;
}
.top #Sec08 .course_list .couse.step_05 .course_inner p.catch{
  margin-bottom: 3px;
}
.top #Sec08 .course_list .couse.step_06 .course_inner p.txt::before {
  background: #0071BA;
}
.top #Sec08 .course_list .couse.step_06 .course_inner p.catch{
  margin-bottom: 3px;
}

.top #Sec08 .conversion_btn{
  margin-top: 80px;
}



@media screen and (max-width: 767px) {
/* 767pxまでの幅の場合に適応される */

/*--------------------------------------------------------------------------
   Content
---------------------------------------------------------------------------*/


/* Main
-----------------------------------------------------------------*/

#Main section{
}

/*--------------------------------------------------------------------------
   Footer
---------------------------------------------------------------------------*/


/* top
-----------------------------------------------------------------*/

/* #Sec01
-----------------------------------------------------------------*/
.top #Sec01{
  margin-top: 30px;
}
.top #Sec01 .inner{
  padding: 80px 0 80px;
}
.top #Sec01 h3.ttl{
  top: 50px;
}
.top #Sec01 .value_box{
  margin-top: 80px;
}
.top #Sec01 .value_box ul{
  display: block;
}
.top #Sec01 .value_box ul li{
  width: 100%;
}
.top #Sec01 .value_box ul li:nth-child(n+2){
  margin-top: 80px;
}
.top #Sec01 .value_box ul li .txt_box{
  padding: 50px 15px;
}

/* #Sec02
-----------------------------------------------------------------*/
.top #Sec02{
  padding: 0 20px;
  margin: 30px 0 20px;
}
.top #Sec02 .inner:after{
}
.top #Sec02 .inner{
  padding: 80px 0 75px;
  background-image: url(../images/top/img_01.png);
  background-repeat: no-repeat;
  background-size: 35%;
  background-position: right bottom 20px;
}
.top #Sec02 .txt{
  font-size: 3rem;
  line-height: 5rem;
  margin-left: 0;
}
.top #Sec02 .txt span{
  border-bottom: solid 4px #0071BB;
  display: inline-block;
  margin-bottom: 10px;
}
.top #Sec02 .sub_txt{
  margin-left: 0; 
  font-size: 1.4rem;
}
.top #Sec02 .gr_btn{
  margin: 30px 0 0 0;
}

.flow_txt{
  background: #ffffff;
  padding: 20px 0 40px;
}
.flow_txt p{
  text-align: center;
  font-size: 3rem;
  line-height: 4.4rem;
}

/* #Sec03
-----------------------------------------------------------------*/
.top #Sec03{
}
.top #Sec03 .inner{
  padding: 80px 0 40px;
  background-position: right center;
}
.top #Sec03 .flex_box{
  display: block;
}
.top #Sec03 .flex_box .gr_btn{
  margin-top: 30px;
}

/* #Sec04
-----------------------------------------------------------------*/
.top #Sec04{
}
.top #Sec04 .inner{
  padding: 40px 0 30px;
}
.top #Sec04 .cat_list{
  flex-wrap: wrap;
  max-width: 280px;
  margin: 30px auto 0;
}
.top #Sec04 .cat_list li{
  width: 48%;
  text-align: center;
  border-radius: 3px;
  overflow: hidden;
}
.top #Sec04 .cat_list li:nth-child(n+3){
  margin-top: 10px;
}

.top #Sec04 .post_list{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 50px;
}
.top #Sec04 .post_list li{
  position: relative;
  max-width: 100%;
  width: 48%;
  margin-bottom: 20px;
}

/* #Sec05
-----------------------------------------------------------------*/
.top #Sec05{
  margin-top: 100px;
  padding: 0 20px;
  background-image: url(../images/top/sp_img_03.jpg);
  background-size: cover;
  background-position: center;
}
.top #Sec05 .inner{
  max-width: 1020px;
  margin: 0 auto;
  position: relative;
  padding: 120px 0 40px;
}
.top #Sec05 .txt{
  margin-left: 0;
}
.top #Sec05 .gr_btn{
  margin-top: 20px;
  margin-left: 0;
}
.top #Sec05 .name{
  display: none;
}

/* #Sec06
-----------------------------------------------------------------*/
.top #Sec06{
}
.top #Sec06 .inner{
  padding: 140px 0 180px;
  background-size: 74%;
}
.top #Sec06 .txt{
  font-size: 3rem;
  line-height: 4.4rem;
  margin-left: 0;
}
.top #Sec06 .gr_btn{
  margin-top: 30px;
  margin-left: 0;
}

/* #Sec07
-----------------------------------------------------------------*/
.top #Sec07 .course_list .couse.step_03{
  width: 537px;
  position: absolute;
  top: 210px;
  right: 6%;
}

/* #Sec08
-----------------------------------------------------------------*/
.top #Sec08{
  margin-top: 0;
  padding: 0 20px;
}
.top #Sec08 .inner{
  padding-bottom: 60px;
}
.top #Sec08 .course_list{
  margin-top: 40px;
  position: relative;
}
.top #Sec08 .couse.step_04:after{
  content: "";
  display: block;
  width: 70px;
  height: 187px;
  background: url(../images/top/img_07.png);
  background-size: 70px auto;
  position: absolute;
  right: 15px;
  top: -30px;
  z-index: 2;
}
.top #Sec08 .couse.step_05:after{
  content: "";
  display: block;
  width: 55px;
  height: 192px;
  background: url(../images/top/img_09.png);
  background-size: 55px auto;
  position: absolute;
  right: 80px;
  top: 110px;
  z-index: 2;
}
.top #Sec08 .couse.step_06:after{
  content: "";
  display: block;
  width: 50px;
  height: 174px;
  background: url(../images/top/img_10.png);
  background-size: 50px auto;
  position: absolute;
  right: 30px;
  top: 275px;
  z-index: 2;
}

/* 767pxまでの幅の場合に適応される */
}







@media screen and (max-width: 640px) {
/* 640pxまでの幅の場合に適応される */


/* #Sec07
-----------------------------------------------------------------*/
.top #Sec07{
  margin-top: 30px;
}
.top #Sec07 .inner{
  margin-top: 30px;
}
.top #Sec07 .box{
  padding: 30px 0 40px;
}

.top #Sec07 .course_list{
  position: relative;
  max-width: 375px;
  margin: 0 auto;
}
.top #Sec07 .course_list .flow_img {
    margin-right: 20px;
}
.top #Sec07 .course_list .flow_img img{
	width: 315px;
}
.top #Sec07	.arrow img{
	width: 21px;
}

.top #Sec07 .txt {
    font-size: 1.8rem;
    font-weight: 500;
    margin: 30px 0 30px;
}
	
.top #Sec07 .course_list .couse{
  font-size: 1.5rem;
  line-height: 2.2rem;
}
.top #Sec07 .course_list .couse .course_inner{
  position: relative;
}
.top #Sec07 .course_list .couse .course_inner p.txt{
  color: #ffffff;
  display: flex;
  align-items: center;
  padding: 0 30px 5px 15px;
  position: relative;
  z-index: 1;
  justify-content: center;
}
.top #Sec07 .course_list .couse .course_inner p.txt::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  transform: scaleY(1.3) perspective(3rem) rotateX(5deg);
  transform-origin: bottom left;
}

.top #Sec07 .course_list .couse .course_inner p.txt span{
  font-size: 2.7rem;
  margin-right: 15px;
}


.top #Sec07 .course_list .couse.step_01{
  width: 245px;
  position: absolute;
  top: 95px;
  left: -20px;
  z-index: 2;
}
.top #Sec07 .course_list .couse.step_01 .course_inner{
  padding-left: 30px;
}
.top #Sec07 .course_list .couse.step_01 .course_inner:before{
  content: "";
  display: block;
  width: 35px;
  height: 96px;
  background-size: 35px auto;
  position: absolute;
  left: 15px;
  top: 10px;
  z-index: 2;
}
.top #Sec07 .course_list .couse.step_01 .course_inner p.txt{
  color: #222222;
}
.top #Sec07 .course_list .couse.step_01 .course_inner p.txt::before {
  background: #DDECF8;
}


.top #Sec07 .course_list .couse.step_02{
  width: 240px;
  position: absolute;
  top: 10px;
  left: 60px
}
.top #Sec07 .course_list .couse.step_02 .course_inner{
  padding-right: 40px;
}
.top #Sec07 .course_list .couse.step_02 .course_inner:before{
  content: "";
  display: block;
  width: 37px;
  height: 96px;
  background-size: 37px 96px;
  position: absolute;
  right: 0;
  bottom: -10px;
  z-index: 2;
}
.top #Sec07 .course_list .couse.step_02 .course_inner p.txt::before {
  background: #202E4A;
}
.top #Sec07 .course_list .couse.step_02 .course_inner p.catch{
  max-width: 360px;
  text-align: center;
  margin-bottom: 8px;
  font-size: 1.2rem;
}

.top #Sec07 .course_list .couse.step_04{
  width: 250px;
  position: absolute;
  bottom: 0;
  right: 0;
}
.top #Sec07 .course_list .couse.step_04 .course_inner{
  padding-left: 25px;
}
.top #Sec07 .course_list .couse.step_04 .course_inner:before{
  content: "";
  display: block;
  width: 37px;
  height: 96px;
  background-size: 37px 96px;
  position: absolute;
  right: 0;
  bottom: -15px;
  z-index: 2;
}
.top #Sec07 .course_list .couse.step_04 .course_inner p.txt::before {
  background: #7CBEBE;
}
.top #Sec07 .course_list .couse.step_04 .course_inner p.catch{
  max-width: 520px;
  text-align: center;
  margin-bottom: 8px;
  font-size: 1.2rem;
  line-height: 1.4rem;
}
.top #Sec07 .course_list .couse.step_04 .course_inner p.txt{
    padding: 8px 30px 18px 15px;
}

/* #Sec08
-----------------------------------------------------------------*/
.top #Sec08{
}
.top #Sec08 .inner{
}
.top #Sec08 .course_list{
  margin-top: 40px;
  position: relative;
  max-width: 375px;
  margin: 0 auto;
}
.top #Sec08 .couse.step_04:after{
  content: "";
  display: block;
  width: 42px;
  height: 111px;
  background: url(../images/top/img_07.png);
  background-size: 42px auto;
  position: absolute;
  right: 0;
  top: -25px;
  z-index: 2;
}
.top #Sec08 .couse.step_05:after{
  content: "";
  display: block;
  width: 32px;
  height: 111px;
  background: url(../images/top/img_09.png);
  background-size: 32px auto;
  position: absolute;
  right: 0;
  top: 92px;
  z-index: 2;
}
.top #Sec08 .couse.step_06:after{
  content: "";
  display: block;
  width: 30px;
  height: 105px;
  background: url(../images/top/img_10.png);
  background-size: 30px auto;
  position: absolute;
  right: 10px;
  top: auto;
  bottom: -50px;
  z-index: 2;
}
.top #Sec08 .course_list .couse .course_inner{
  position: relative;
}
.top #Sec08 .course_list .couse .course_inner p.txt{
  color: #ffffff;
  display: flex;
  align-items: center;
  padding: 0 30px 5px 10px;
  position: relative;
  z-index: 1;
  justify-content: center;
  line-height: 4.4rem;
}
.top #Sec08 .course_list .couse .course_inner p.txt::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  transform: scaleY(1.2) perspective(6rem) rotateX(5deg);
  transform-origin: bottom left;
}
.top #Sec08 .course_list .couse .course_inner p.txt span{
  font-size: 2.7rem;
  margin-right: 15px;
}
.top #Sec08 .course_list .couse{
  margin-top: 20px;
  font-size: 1.5rem;
  width: 310px;
}
.top #Sec08 .course_list .couse.step_05{
}
.top #Sec08 .course_list .couse.step_05 .course_inner p.txt::before {
  background: #00AEAD;
}
.top #Sec08 .course_list .couse.step_05 .course_inner p.catch{
  margin-bottom: 8px;
  font-size: 1.2rem;
}
.top #Sec08 .course_list .couse.step_06 .course_inner p.txt::before {
  background: #0071BA;
}
.top #Sec08 .course_list .couse.step_06 .course_inner p.catch{
  margin-bottom: 8px;
  font-size: 1.2rem;
  letter-spacing: 0;
}


/* 640pxまでの幅の場合に適応される */
}