
section {
  padding-top: 84px;
  bottom: 160px;
}
/* layout */
.mainTopBanner {
  width: 100%;
  /* height: 250px;  */
  margin: 0 auto;
  padding: 60px 20px; 
  box-sizing: border-box;
  display: block;
}
.mainYellowBanner {
  position: relative;
  width: 100%;
  height: 150px;
  margin: auto;
}
.mainClassCard {
  width: 100%;
  height: 404px;
  margin: 0 auto;
}
/* .classCard1 {
position: relative;
animation: fadeInUp 2s;
}
.classCard2 {
position: relative;
animation: fadeInUp 3s;
}
.classCard3 {
position: relative;
animation: fadeInUp 4s;
}
.classCard4 {
position: relative;
animation: fadeInUp 5s;
}
@keyframes fadeInUp {
0% {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
}
to {
    opacity: 1;
    transform: translateZ(0);
}
} */
.mainSlideBox {
  width: 100%;
}
.mainvideoBox {
  width: 100%;
  padding-bottom: 30px;
}
.mainContact {
width: 100%;
padding-bottom: 100px;
}

/* 텍스트 슬라이드 */
.mainTop {
display: block;
width: 100%;
/* height: 500px; */
overflow: hidden;
}
.main{
/* height:420px; */
width:100%;  
align-items:center;
justify-content:center;
text-align:left;
}
.roller{
height: 90px;
line-height: 4rem;
position: relative;
overflow: hidden; 
width: 100%;
justify-content: center;
align-items: center;
font-weight: 300;
}
.roller #rolltext {
position: absolute;
top: 0;
animation: slide 2s ;
}
@keyframes slide {
0%{
  top:90px;
}
33%{
  top: 60px;    
}
66%{
  top: 30px;
}
100%{
  top:0;
}
}

.main2 p {
  line-height: 2rem;
  padding-top: 25px;
  width: fit-content;
  margin: auto;
}

.line {
animation-timing-function: ease-out;
}
.yellowBox1 {
position: absolute;
top: 0;
left: 40px;
width: 100%;
height: 32px;
}
.yellowBox1 .line1 {
position: absolute;
width: 3px;
height: 0%;
bottom: 0;
background-color: #E9CF4A;
animation-name: run1;
animation-duration: 0.3s;
animation-delay: 1s;
animation-fill-mode: forwards;
}
.yellowBox1 .line2 {
position: absolute;
width: 0%;
height: 3px;
top: 0;
background-color: #E9CF4A;
animation-name: run2;
animation-duration: 3s;
animation-delay: 1.5s;
animation-fill-mode: forwards;
}

.yellowBox2 {
position: absolute;
bottom: 0;
right: 40px;
width: 100%;
height: 32px;
}
.yellowBox2 .line1 {
position: absolute;
width: 3px;
height: 0%;
right: 0;
top: 0;
background-color: #E9CF4A;
animation-name: run1;
animation-duration: 0.3s;
animation-delay: 1s;
animation-fill-mode: forwards;
}
.yellowBox2 .line2 {
position: absolute;
width: 0%;
height: 3px;
right: 0;
bottom: 0;
background-color: #E9CF4A;
animation-name: run2;
animation-duration: 3s;
animation-delay: 1.5s;
animation-fill-mode: forwards;
}
@keyframes run1 {
from {
  height: 0px;
}
to {
  height: 100%;
}
}
@keyframes run2 {
from {
  width: 100px;
}
to {
  width: 100%;
}
}

/* 수업설명 카드 */
.mainClassCard .classCard {
  text-align: center;
  margin-left: 20px;
}
.mainClassCard .classCard a {
  width: 100%;
  height: 640px;
  margin: 0 20px;
}
.slick2 > li {
  width: 100%;
  margin: 0 20px;
}
.classcardBox {
width: 280px;
padding: 42px 15px;
box-sizing: border-box;
background: #1F1E23;
}
.classcardBox > ul {
width: fit-content;
padding: 30px 0;
text-align: left;
margin: 0 auto;
}
.classcardBox > ul > li {
padding-bottom: 8px;
}
.classcardBox > ul > li:last-child {
padding-bottom: 0;
}
.mainClassCardTitle {
  padding: 33px 0;
}
.mainClassCardIcon1 {
width: 18px;
height: 18px;
margin: auto;
display: block;
}
.mainClassCardIcon2 {
width: 15px;
height: 12px;
padding-right: 10px;
float: left;
vertical-align: middle;
}
.mainClassCardIcon3 {
width: 181px;
height: 83px;
display: block;
margin: auto;
}
.mainClassCardText {
text-align: center;
padding-bottom: 33px;
}
.slick2 .slick-dots {
  position: static;
  margin: auto;
}
.slick2 .slick-dots li button:before {
  background-color: #fff;
  opacity: 1;
  }
  .slick2 .slick-dots li.slick-active button:before {
  background-color: #E9CF4A;
  }
/* 커리큘럼 페이지 이동 */
.mainCurriculum {
  margin: 0 auto;
  padding: 53px 0 60px 0;
  text-align: center;
  text-decoration-line: underline;
  text-underline-position: under;
}
/* 수업광고배너 */
.mainSlideWrap {
  width: 100%;
  box-sizing: border-box;
}
.titleTop {
  font-family: 'Helvetica Neue';
  font-style: normal;
  font-weight: 700;
  font-size: 1.13rem;
  line-height: 1.5rem;
}
.titleBottom {
  font-family: 'Helvetica Neue';
  font-style: normal;
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 2.19rem;
}
.textSlider {
width: 100%;
}
.textSlider .textSliderDiv {
width: 100%;
height: 290px;
padding: 7px 20px;
box-sizing: border-box;
}
.textSliderDiv ul li p {
  display: inline-block;
}
.textSliderDiv ul li .sliderBarWrap {
  display: inline-block;
}
.textSliderDiv ul li .sliderBarWrap img {
  float: left;
  width: 18px;
  padding-left: 10px;
}
.textSliderfigmaLogo {
  display: inline-block !important;
  width: 13px;
  height: 20px;
  padding: 0 5px;
  vertical-align: middle;
}
.textSlider > .slick-dotted.slick-slider {
  margin-bottom: 0;
}
/* .slick-dots {
right: 60px;
bottom: 80px;
}
.slick-dots li button:before {
background-color: #1F1E23;
opacity: 1;
}
.slick-dots li.slick-active button:before {
background-color: #fff;
} */

/* 동영상 */
.mainvideoBox .video {
  border: 1px solid #1F1E23;
}
.video-container {
  position:relative;
  padding-bottom:56.25%;
  /* padding-top:30px; */
  height:0;
  overflow:hidden;
} 
.video-container iframe,
.video-container object,
.video-container embed
{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
} 
/* 학생 리뷰 */
.item2 {
  padding-right: 20px;
}
.mainReviewBox {
width: 100%;
height: fit-content;
padding: 50px 20px;
box-sizing: border-box;
background-color: #1F1E23;
}
.mainReviewTitle {
display: inline-block;
height: fit-content;
position: relative;
}
.mainReviewBtn {
  width: 193px;
  height: 33px;
  display: block;
  margin: 65px auto 0;
  background-image: url(./../../images/m/lf_main_review_btn.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position-y: bottom;
  text-align: center;
}

.reviewBox {
width: 280px;
height: 417px;
padding: 25px;
box-sizing: border-box;
background: #FEF5C9;
}

.reviewBox p {
color: #000;
}
.reviewBox img {
display: block;
width: 130px;
height: 130px;
padding: 20px 0 30px 0;
margin: 0 auto;
}
.slick {
  height: fit-content;
}
.item {
transition: .4s ease all;
/* margin-right: 30px; */
}
/* .autoplay {
height: 700px;
} */
.autoplay > ul {
 position: static;
 padding: 20px 0;
}

.autoplay .slick-dots li button:before {
background-color: #fff;
opacity: 1;
}
.autoplay .slick-dots li.slick-active button:before {
background-color: #E9CF4A;
}

/* 오시는 길 */
.mainContact {
overflow: hidden;
}
.mainContactTop {
position: relative;
height: fit-content;
margin: 0 auto;
padding: 61px 20px 20px 20px;
box-sizing: border-box;
}

.mainContactWrap {
width: 100%;
}
.contactBtn {
  display: inline-block;
  padding: 5px 20px;
  border: 1px solid #fff;
  border-radius: 100px;
}
.contactBtn img {
width: 20px;
height: 20px;
vertical-align: middle;
}
.contactBtn:hover {
border: 1px solid #FF8983;
background-color: #FF8983;
transition: 1s;
}
.mainContactWrap .div {
display: none;
height: fit-content;
padding-top: 15px;
box-sizing: border-box;
}
.contectAddr {
padding: 21px 0;
}

/*라디오버튼 숨김*/
input {
  display: none;
}

.mainContactWrap label {
display: inline-block;
margin-right: 15px;
padding-bottom: 3px;
font-weight: 400;
text-align: center;
color: #fff;
border-bottom: 8px solid #1F1E23;
}

label:hover {
cursor: pointer;
}

/*input 클릭시, label 스타일*/
input:checked + label {
  color: #E9CF4A;
  font-weight: 800;
  border-bottom: 8px solid #E9CF4A;
}

#tab1:checked ~ #content1,
#tab2:checked ~ #content2 {
display: block;
}
#content3 {
display: block;
text-align: center;
}
#content4 {
display: none;
text-align: center;
}

.mainContact {
width: 100%;
}
.mainContact iframe {
width: 100%;
height: 185px;
margin-bottom: 38px;
}


/* 후기 팝업 */
.popupOpen {
  float:right;
  color: #000;
  text-decoration: underline;
  margin-top: 35px;
}
/* 쉐도우 효과*/
.shadow{
  position: fixed;
  left: 0;
  top: 0;
  background: rgba(0, 0, 0, 0.52);
  width: 100%;
  height: 100vh;
  display: none;
  z-index: 998;
}
.popup {
  width:fit-content;
  height: fit-content;
  position:fixed;
  top:120px;
  display:none;
  left: calc(50% - 167px);
  z-index: 999;
}
.popup .reviewBox {
  width: 335px;
  height: fit-content;
  padding: 30px 35px 50px 35px;
  box-sizing: border-box;
}
.popupText {
  width: 235px;
  margin: auto;
  overflow: hidden;
}
.popup .close {
  float:right;
  color: #000;
  text-decoration: underline;
  margin-top: 35px;
}