@charset "utf-8";

/* course
-----------------------------------------------------------------*/
.course .main_right{
	background-color: #DDECF8;
}

.course .sec_catch{
	color: #2B8857;
	font-size: 1.6rem;
	font-weight: 700;
}

/* #Sec01
-----------------------------------------------------------------*/
.course #Sec01{
  padding: 0 50px;
}
.course #Sec01 .inner{
  max-width: 670px;
  margin: 0 auto;
  position: relative;
  padding: 30px 0 80px;
}
.course #Sec01 h2.ttl{
	font-size: 1.6rem;
}
.course #Sec01 h2.ttl span{
	padding: 0 50px;
}
.course #Sec01 h3.ttl{
	top: 68px;
}
.course #Sec01 .sub_txt{
	text-align: center;
	font-size: 1.6rem;
	margin-top: 5px;
}
.course #Sec01 .txt{
	text-align: center;
	font-size: 2rem;
	margin-top: 30px;
}

.course #Sec01 .table_img{
	margin-top: 35px;
}

/* #Sec02
-----------------------------------------------------------------*/
.course #Sec02{
  padding: 0 50px;
  background-color: #EFEDED;
}
.course #Sec02 .inner{
  max-width: 760px;
  margin: 0 auto;
  position: relative;
  padding: 30px 0 20px;
}

.course #Sec02 .box{
  max-width: 760px;
  margin: 0 auto;
  padding: 30px 0 40px;
}

.course #Sec02 .course_list{
  position: relative;
  height: 245px;
}
.course #Sec02 .course_list .couse{
  font-size: 1.5rem;
}
.course #Sec02 .course_list .couse a{
  display: block;
}
.course #Sec02 .course_list .couse a:hover{
  opacity: 0.7;
}
.course #Sec02 .course_list .couse .course_inner{
  position: relative;
}
.course #Sec02 .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;
}
.course #Sec02 .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;
}

.course #Sec02 .course_list .couse .course_inner p.txt span{
  font-size: 2.9rem;
  margin-right: 15px;
}


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


.course #Sec02 .course_list .couse.step_02{
  width: 414px;
  position: absolute;
  top: 10px;
  left: 12%;
}
.course #Sec02 .course_list .couse.step_02 .course_inner{
  padding-right: 40px;
}
.course #Sec02 .course_list .couse.step_02 .course_inner:before{
  content: "";
  display: block;
  width: 60px;
  height: 155px;
  background: url(../images/top/img_05.png);
  background-size: 60px auto;
  position: absolute;
  right: 0;
  bottom: -10px;
  z-index: 2;
}
.course #Sec02 .course_list .couse.step_02 .course_inner p.txt::before {
  background: #202E4A;
}
.course #Sec02 .course_list .couse.step_02 .course_inner p.catch{
  max-width: 360px;
  text-align: center;
  margin-bottom: 3px;
}
.course #Sec02 .course_list .couse.step_04{
  width: 450px;
  position: absolute;
  bottom: 0;
  right: 0;
}
.course #Sec02 .course_list .couse.step_04 .course_inner{
  padding-left: 50px;
}
.course #Sec02 .course_list .couse.step_04 .course_inner:before{
	content: "";
  display: block;
  width: 60px;
  height: 160px;
  background: url(../images/top/img_08.png);
  background-size: 60px auto;
  position: absolute;
  right: 10px;
  bottom: -40px;
  z-index: 2;
}
.course #Sec02 .course_list .couse.step_04 .course_inner p.txt::before {
  background: #7CBEBE;
}
.course #Sec02 .course_list .couse.step_04 .course_inner p.catch{
  max-width: 640px;
  text-align: center;
  line-height: 2rem;
  margin-bottom: 10px;
}

/* #Sec03
-----------------------------------------------------------------*/
.course #Sec03{
  padding: 0 50px;
}
.course #Sec03 .inner{
  max-width: 670px;
  margin: 0 auto;
  position: relative;
  padding: 30px 0 60px;
}

.course #Sec03 .course_list{
  margin-top: 40px;
  position: relative;
}
.course #Sec03 .course_list .couse a{
  display: block;
}
.course #Sec03 .course_list .couse a:hover{
  opacity: 0.7;
}
.course #Sec03 .couse.step_04:after{
  content: "";
  display: block;
  width: 80px;
  height: 213px;
  background: url(../images/top/img_07.png);
  background-size: 80px auto;
  position: absolute;
  right: 55px;
  top: -70px;
  z-index: 2;
}
.course #Sec03 .couse.step_05:after{
  content: "";
  display: block;
  width: 65px;
  height: 227px;
  background: url(../images/top/img_09.png);
  background-size: 65px auto;
  position: absolute;
  right: 165px;
  top: 70px;
  z-index: 2;
}
.course #Sec03 .couse.step_06:after{
  content: "";
  display: block;
  width: 63px;
  height: 220px;
  background: url(../images/top/img_10.png);
  background-size: 63px auto;
  position: absolute;
  right: 80px;
  top: 155px;
  z-index: 2;
}
.course #Sec03 .course_list .couse{
  font-size: 1.5rem;
}
.course #Sec03 .course_list .couse .course_inner{
  position: relative;
}
.course #Sec03 .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;
}
.course #Sec03 .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;
}
.course #Sec03 .course_list .couse .course_inner p.txt span{
  font-size: 2.9rem;
  margin-right: 15px;
}
.course #Sec03 .course_list .couse{
  margin-top: 20px;
}
.course #Sec03 .course_list .couse.step_04{
}
.course #Sec03 .course_list .couse.step_04 .course_inner p.txt::before {
  background: #2B8857;
}
.course #Sec03 .course_list .couse.step_04 .course_inner p.catch{
  margin-bottom: 10px;
}
.course #Sec03 .course_list .couse.step_05{
}
.course #Sec03 .course_list .couse.step_05 .course_inner p.txt::before {
  background: #00AEAD;
}
.course #Sec03 .course_list .couse.step_05 .course_inner p.catch{
  margin-bottom: 10px;
}
.course #Sec03 .course_list .couse.step_06 .course_inner p.txt::before {
  background: #0071BA;
}
.course #Sec03 .course_list .couse.step_06 .course_inner p.catch{
  margin-bottom: 10px;
}

.course #Sec03 .value_box{
  margin-top: 40px;
}
.course #Sec03 .value_box ul{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.course #Sec03 .value_box ul li{
  width: 47%;
  text-align: center;
  position: relative;
  background: #ffffff;
}
.course #Sec03 .value_box ul li:nth-child(n+3){
  margin-top: 120px;
}
.course #Sec03 .value_box ul li .num{
  color: #0071BB;
  font-size: 7rem;
  position: absolute;
  top: -37px;
  left: auto;
  right: auto;
  width: 100%;
  line-height: 7rem;
}
.course #Sec03 .value_box ul li .txt_box{
  background: #ffffff;
  padding: 60px 20px 60px;
  font-size: 2rem;
  font-weight: 500;
}
.course #Sec03 .value_box ul li .txt_box span{
	font-size: 1.6rem;
	text-align: left;
	font-weight: 400;
	display: block;
	margin-top: 15px;
}
.course #Sec03 .value_box ul li .gr_btn{
  position: absolute;
  bottom: -25px;
  width: 100%;
  text-align: center;
}
.course #Sec03 .value_box ul li .gr_btn a{
  margin: 0 auto;
}

.course #Sec03 .table_img{
	margin-top: 100px;
}

/* #Sec04
-----------------------------------------------------------------*/
.course #Sec04{
  padding: 0 50px;
  background-color: #ffffff;
}
.course #Sec04 .inner{
  max-width: 760px;
  margin: 0 auto;
  position: relative;
  padding: 30px 0 20px;
}
.course #Sec04 .arrow{
	text-align: center;
}
.course #Sec04 .txt{
	text-align: center;
	font-size: 2.4rem;
	margin-top: 20px;
}

/* #Sec05
-----------------------------------------------------------------*/
.course #Sec05{
  padding: 0 50px;
	background: #202E4A;
}
.course #Sec05 .inner{
  max-width: 760px;
  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 center;
}
.course #Sec05 .txt{
  color: #ffffff;
  font-size: 2.4rem;
}
.course #Sec05 .txt span{
  margin-right: 30px;
  border-bottom: solid 4px #2B8857;
}
.course #Sec05 .gr_btn a{
	margin: 20px auto 0;
}


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

.course #Sec01 h2.ttl{
	margin-top: 100px;
}

.course #Sec03 .couse.step_04:after{
	width: 63px;
  height: 168px;
  background-size: 63px auto;
  position: absolute;
  right: -18px;
  top: -50px;
}
.course #Sec03 .couse.step_05:after{
  width: 50px;
  height: 174px;
  background-size: 50px auto;
  position: absolute;
  right: 35px;
  top: 75px;
}
.course #Sec03 .couse.step_06:after{
  width: 48px;
  height: 167px;
  background-size: 48px auto;
  position: absolute;
  right: -14px;
  top: 205px;
}
.course #Sec03 .course_list .course_inner p.catch{
	font-size: 1.4rem;
}

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


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

.course #Sec02 .course_list{
  height: 290px;
}
.course #Sec02 .course_list .couse.step_04{
  width: 420px;
  right: -20px;
}

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




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

/* #Sec01
-----------------------------------------------------------------*/
.course #Sec01{
  padding: 0 20px;
}
.course #Sec01 .inner{
  padding: 20px 0 30px;
}
.course #Sec01 h2.ttl{
	font-size: 1.6rem;
	margin-top: 55px;
}
.course #Sec01 h2.ttl span{
	padding: 0 15px;
}
.course #Sec01 h3.ttl{
	top: 20px;
}
.course #Sec01 .sub_txt{
	text-align: center;
	font-size: 1.6rem;
	margin-top: 5px;
}
.course #Sec01 .txt{
	text-align: center;
	font-size: 2rem;
	margin-top: 30px;
}

/* #Sec02
-----------------------------------------------------------------*/
.course #Sec02{
  padding: 0 20px;
}
.course #Sec02 .inner{
  max-width: 760px;
  margin: 0 auto;
  position: relative;
  padding: 30px 0 20px;
}

.course #Sec02 .box{
  padding: 10px 0 30px;
}

.course #Sec02 .course_list{
  position: relative;
  max-width: 375px;
  height: 235px;
  margin: 0 auto;
}
.course #Sec02 .course_list .couse{
  font-size: 1.5rem;
  line-height: 2.2rem;
}
.course #Sec02 .course_list .couse .course_inner{
  position: relative;
}
.course #Sec02 .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;
}
.course #Sec02 .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;
}

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


.course #Sec02 .course_list .couse.step_01{
  width: 245px;
  position: absolute;
  top: 95px;
  left: -20px;
  z-index: 2;
}
.course #Sec02 .course_list .couse.step_01 .course_inner{
  padding-left: 30px;
}
.course #Sec02 .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;
}
.course #Sec02 .course_list .couse.step_01 .course_inner p.txt{
  color: #222222;
}
.course #Sec02 .course_list .couse.step_01 .course_inner p.txt::before {
  background: #BFDBCD;
}


.course #Sec02 .course_list .couse.step_02{
  width: 240px;
  position: absolute;
  top: 10px;
  left: 60px
}
.course #Sec02 .course_list .couse.step_02 .course_inner{
  padding-right: 40px;
}
.course #Sec02 .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;
}
.course #Sec02 .course_list .couse.step_02 .course_inner p.txt::before {
  background: #202E4A;
}
.course #Sec02 .course_list .couse.step_02 .course_inner p.catch{
  max-width: 360px;
  text-align: center;
  margin-bottom: 8px;
  font-size: 1.2rem;
}
.course #Sec02 .course_list .couse.step_04{
  width: 250px;
  position: absolute;
  bottom: 0;
  right: 0;
}
.course #Sec02 .course_list .couse.step_04 .course_inner{
  padding-left: 25px;
}
.course #Sec02 .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;
}
.course #Sec02 .course_list .couse.step_04 .course_inner p.txt::before {
  background: #7CBEBE;
}
.course #Sec02 .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;
}
.course #Sec02 .course_list .couse.step_04 .course_inner p.txt{
    padding: 8px 30px 18px 15px;
}

/* #Sec03
-----------------------------------------------------------------*/
.course #Sec03{
  padding: 0 20px;
}
.course #Sec03 .inner{
  max-width: 760px;
  margin: 0 auto;
  position: relative;
  padding: 30px 0 60px;
}

.course #Sec03 .course_list{
  margin-top: 40px;
  position: relative;
  max-width: 375px;
  margin: 0 auto;
}
.course #Sec03 .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;
}
.course #Sec03 .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;
}
.course #Sec03 .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;
}
.course #Sec03 .course_list .couse .course_inner{
  position: relative;
}
.course #Sec03 .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;
}
.course #Sec03 .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;
}
.course #Sec03 .course_list .couse .course_inner p.txt span{
  font-size: 2.7rem;
  margin-right: 15px;
}
.course #Sec03 .course_list .couse{
  margin-top: 20px;
  font-size: 1.5rem;
  width: 310px;
}
.course #Sec03 .course_list .couse.step_05{
}
.course #Sec03 .course_list .couse.step_05 .course_inner p.txt::before {
  background: #00AEAD;
}
.course #Sec03 .course_list .couse.step_05 .course_inner p.catch{
  margin-bottom: 8px;
  font-size: 1.2rem;
}
.course #Sec03 .course_list .couse.step_06 .course_inner p.txt::before {
  background: #0071BA;
}
.course #Sec03 .course_list .couse.step_06 .course_inner p.catch{
  margin-bottom: 8px;
  font-size: 1.2rem;
  letter-spacing: 0;
}

.course #Sec03 .value_box{
}
.course #Sec03 .value_box ul{
  display: block;
}
.course #Sec03 .value_box ul li{
	max-width: 640px;
  width: 100%;
  text-align: center;
  position: relative;
  margin: 0 auto;
}
.course #Sec03 .value_box ul li:nth-child(n+2){
  margin-top: 100px;
}
.course #Sec03 .value_box ul li .num{
  font-size: 7rem;
  position: absolute;
  top: -37px;
  left: auto;
  right: auto;
  width: 100%;
  line-height: 7rem;
}
.course #Sec03 .value_box ul li .txt_box{
  background: #ffffff;
  padding: 60px 30px 60px;
  font-size: 2rem;
  font-weight: 500;
}
.course #Sec03 .value_box ul li .txt_box span{
	font-size: 1.6rem;
	text-align: left;
	font-weight: 400;
	display: block;
	margin-top: 15px;
}
.course #Sec03 .value_box ul li .gr_btn{
  position: absolute;
  bottom: -25px;
  width: 100%;
  text-align: center;
}
.course #Sec03 .value_box ul li .gr_btn a{
  margin: 0 auto;
}

/* #Sec04
-----------------------------------------------------------------*/
.course #Sec04{
  padding: 0 20px;
  background-color: #ffffff;
}
.course #Sec04 .inner{
  padding: 30px 0 20px;
}
.course #Sec04 .arrow{
	text-align: center;
}
.course #Sec04 .txt{
	text-align: center;
	font-size: 2.4rem;
	margin-top: 20px;
}

/* #Sec05
-----------------------------------------------------------------*/
.course #Sec05{
  padding: 0 20px;
}
.course #Sec05 .inner{
  padding: 80px 0 40px;
}

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




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


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