@charset "utf-8";
@import url(../m/mobile_common.css);


html, body { margin: 0; overflow-x: clip; }
*,
*::before,
*::after {
    box-sizing: border-box;
}

#wrap {
    overflow: hidden;
}

section + section {
    padding: 80px 0 40px;
}
section .titleText {
    font-size: 22px;
    margin-bottom: 30px;
}

#site-header {
  position: fixed;
  inset: 0 0 auto 0;  
  height: 70px;          
  z-index: 1000;
  box-sizing: border-box;
}

#site-header .inner {
  display: flex;
  align-items: center;
  justify-content: space-between; 
  height: 100%;
  width: min(1200px, 100%);
  margin: 0 auto;
  padding-inline: 20px; 
  box-sizing: border-box;
}

#site-header .logo { width: 220px; }
#site-header .logo a { display:block; }

#site-header .right { display:flex; align-items:center; gap:12px; }

#site-header .btnMobile {
    height: 50px;
}

.gnb .nav a {
    font-size: 22px;
    line-height: 40px;
}

.btnArea .btn {
    width: 280px;
    line-height: 50px;
    height: 50px;
    font-size: 20px;
}

.mainVisual.junior {
    height: 70vh;
    margin-top: 70px;
    background-image: url(../../img/sub_junior/sub_junior_main.png);
    background-size: cover;
}

.mainVisual::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: linear-gradient(135deg, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.3));
    z-index: 0;
}

.mainVisual.junior .inner {
    height: 70vh;
}

.mainVisual .mainTitleArea {
    width: 60%;
    position: static;
    transform: none;
    align-items: center;
}

.mainVisual .mainTitleArea h2 {
    font-size: 36px;
    color: #fff;
    margin-bottom: 30px;
    word-break: keep-all;
    text-align: center;
}

.mainVisual .mainTitleArea h2 span {
    display: inline;
    color: var(--color-point-green);
}

.mainVisual .mainTitleArea .titleText {
    color: #fff;
    font-size: 20px;
    text-align: center;
    margin-bottom: 20px;
}
.mainVisual .mainTitleArea .titleText br {display: none;}
.mainVisual .mainTitleArea .titleText span {
    color: #fff;
    margin-bottom: 0;
}

.mainVisual .mainTitleArea .btnArea {
    margin-top: 40px;
    display: flex
}

.mainVisual .mainTitleArea .btnArea .btn {
    font-size: 18px;
}

/* cont1 */
.sec-edu-cont01 {
    padding-bottom: 0;
}

.sec-edu-cont01 .titleArea h2 span {
    display: block;
}

.sec-edu-cont01 .titleArea p {
    font-size: clamp(16px, 3.3vw, 22px);
}
.sec-edu-cont01 .edu_img img {
    max-width: 60%;
}

.sec-edu-cont02 {
    height: auto;
}

.sec-teacher::before {
    top: 25px
}

.sec-teacher .t-feature {}

.sec-teacher .t-feature>div {
    padding-top: 0;
    height: 300px;
}

.sec-teacher .t-feature>div .label {
    margin-top: 60px;
    font-size: 20px;
    margin-bottom: 10px;
}

.sec-teacher .t-feature>div .text {
    font-size: 15px;
}

.sec-teacher .teacher-cards {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
}

.sec-teacher .teacher-cards .card img {
    width: 120px;
}

.sec-curri .inner .imgBox img {
    width: 400px;
}

.sec-curri .curri-list {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 80px;
}

.sec-curri .curri-list li {
    width: 100%;
}

.sec-curri .btnArea {
    margin-top: 60px;
}

/* 단계별 교재 */
.sec-steps .inner {
    position: relative;
    max-width: 90%;
    margin: 0 auto;
}

.sec-steps .titleArea {
    text-align: center;
    margin-bottom: 60px;
}

.sec-steps .titleArea .badge {
    display: inline-block;
    padding: 10px 30px;
    border-radius: 40px;
    border: 1px solid var(--color-content-blue);
    color: var(--color-content-blue);
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 40px;
}

.sec-steps .titleArea h2 {
    margin-bottom: 30px;
}

.sec-steps .titleArea .text span {
    display: inline;
    font-size: 18px;
}

.sec-steps .titleArea .text span strong {
    color: var(--color-content-blue);
    font-weight: 20px;
}

/* 단계별 카드 */
.sec-steps .inner {
    max-width: 90%;
    margin: 0 auto;
}

.sec-steps .step-list-wrap {
    position: relative;
    background: none;
}

.sec-steps .step-list-wrap::after {
    background-color: transparent;
}

.sec-steps .steps-list {
    position: relative;
    width: 100%;
    height: auto;
    display: block;
}

.sec-steps .steps-list .step {
    position: static;
    padding: 20px 0;
    background: none;
    box-sizing: border-box;
    height: auto;
    margin-bottom: 60px;
}

.sec-steps .steps-list .step:nth-child(1) {
    width: 100%;
    background-image: none;
    padding: 0;
}

.sec-steps .steps-list .step:nth-child(2) {
    width: 100%;
    background-image: none;
    padding: 0;
}

.sec-steps .steps-list .step:nth-child(3) {
    width: 100%;
    background-image: none;
    padding: 0;
}

.sec-steps .steps-list .step h3 {
    text-align: center;
    padding: 12px 30px;
    font-size: 20px;
    margin-top: 0;
    background: #132a75;
    color: #fff;
    border-radius: 40px;
    margin-bottom: 25px;
}

.sec-steps .steps-list .step h3 strong {
    color: var(--color-point-green);
}

.sec-steps .steps-list .step:nth-child(3) h3 span {
    display: block;
}

.sec-steps .steps-list .step h3 span {
    display: inline;
}

.sec-steps .steps-list .step .textArea {
    position: static;
    width: auto;
    padding: 25px;
    border-radius: 25px;
    border: 1px solid var(--color-content-blue)
}

.sec-steps .steps-list .step:nth-child(1) .textArea {
    background: #f8fbff;
}

.sec-steps .steps-list .step:nth-child(2) .textArea {
    background: #e6edfc;
}

.sec-steps .steps-list .step:nth-child(3) .textArea {
    background: #e0eaff;
}

.sec-steps .steps-list .step .textArea h4 {
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 2px dotted rgba(0, 0, 0, 0.4);
}

.sec-steps .steps-list .step .textArea p {
    font-size: 18px
}

/* 수준별 콘텐츠 */
.sec-steps .steps-wrap {
    background: linear-gradient(to bottom, #fff 80%, transparent);
    border-radius: 0 0 500px 500px;
    padding: 60px 0 0;
}

.sec-steps .steps-wrap>div {
    width: 100%;
}

.sec-steps .steps-wrap .titleArea {
    text-align: center;
}

.sec-steps .steps-wrap .titleArea .badge {
    display: block;
    border-color: #fff;
    background: #23a074;
    color: #fff;
    font-size: 22px;
    padding: 8px 25px;
    text-align: center;
}

.sec-steps .steps-wrap .titleArea h2 {
    text-align: center;
    color: #000;
    margin-bottom: 20px;
}

.sec-steps .steps-wrap .titleArea .text span {
    display: block;
    font-size: 18px;
}

.sec-steps .steps-wrap .titleArea .text em {
    font-size: 19px;
    font-weight: 600;
}

.steps-wrap .step-begin .cont-list {
    background: none;
    border-radius: 0;
    padding: 0;
    gap: 20px;
    margin-bottom: 40px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
}

.steps-wrap .cont-list div {
    width: 100%;
    text-align: center;
    background: #f7f8ff;
    padding: 25px;
    border: 1px solid var(--color-content-blue);
    border-radius: 25px;
    height: 280px;
}

.steps-wrap .cont-list img {
    width: 32px
}

.steps-wrap .cont-list .text {
    margin-bottom: 20px;
    text-align: left;
    font-size: 18px;
}

.steps-wrap .cont-list .text br {
    display: none;
}

.steps-wrap .contImg {
    text-align: center;
    margin-bottom: 50px;
}

.steps-wrap .contImg img {
    max-width: 100%;
}

.steps-wrap .step-inter .cont-list,
.steps-wrap .step-advance .cont-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-radius: 0;
    padding: 0;
    gap: 20px;
    margin-bottom: 0;
}

.steps-wrap .step-inter .cont-list div,
.steps-wrap .step-advance .cont-list div {
    width: 100%;
    margin-bottom: 25px;
    height: auto;
}

.steps-wrap .step-advance h2 strong {
    display: block;
    margin-bottom: 5px;
}

.steps-wrap .cont-list img {
    vertical-align: middle;
}

.steps-wrap .cont-list h3 {
    display: inline-block;
    margin-left: 10px;
    letter-spacing: -1px;
}

.steps-wrap .step-advance .titleArea .badge {
    background: #272a77;
}

.steps-wrap .step-advance .titleArea .text br {
    display: none;
}

.sec-steps .steps-wrap {
    background: none;
    padding: 25px 0;
}

/* news */
.sec-news {
    background: linear-gradient(to top, #466ad0, #96b9ee);
}

.sec-news .inner {
    max-width: 90%;
}

.sec-news .titleArea {
    text-align: center;
}

.sec-news .titleArea .badge span {
    font-weight: 600;
    margin-bottom: 25px;
    font-size: 22px;
}

.sec-news .titleArea h2 {
    font-size: 36px;
    margin-bottom: 40px;
    word-break: keep-all;
}

.sec-news .titleArea h2 br {
    display: none;
}

.sec-news .titleArea .titleText {
    margin-bottom: 40px;
}

.sec-news .titleArea .titleText span {
    display: block;
    font-size: 18px;
    color: #fff;
}

.news_contents {
    height: auto;
    background: none;
    display: block;
}

.news_contents h3 {
    font-size: 36px;
    font-weight: 600;
    height: auto;
    display: block;
    margin-bottom: 40px;
}

.news_contents h3 span {
    color: #000;
    display: block;
}

.news_contents h3 strong {
    color: #fff;
}

.news_contents .news-card {
    width: 100%;
    height: auto;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    /* 3칸 */
    gap: 20px;
    justify-items: center;
    align-items: center;
}

.news_contents .news-card .card {
    width: 100%;
    height: 140px;
    background-position: top center;
    background-size: cover;
}

.news_contents .news-card .card span {
    padding-top: 25px;
    font-size: 20px;
    font-weight: 600;
    color: #fff;
    display: inline-block;
    line-height: 1.4;
}

.card.small {
    transform: scale(1);
}

.card.mid {
    transform: scale(1);
}

/* dogo News Top */
.sec-dogo {
    padding: 50px 0;
    height: auto;
    background: #f7f4f4 url(../../img/sub_junior/sub_junior_img04.png) no-repeat left 40% top/cover
}

.sec-dogo .inner {
    max-width: 90%;
    margin: 0 auto;
}
.sec-dogo .titleArea {
    width: 60%
}
.sec-dogo .titleArea .h_logo {
    display: none
}

.sec-dogo .titleArea h2 {
    text-align: left;
    font-weight: 700;
    color: var(--color-content-blue);
}

.sec-dogo .titleArea h2 br {
    display: none;
}

.sec-dogo .titleArea .titleText {
    margin-bottom: 30px;
    font-size: 18px;
    text-align: left;
    color: #444
}

.sec-dogo .titleArea .titleText span {
    display: inline;
}

.sec-dogo .titleArea .titleText em {
    font-weight: 600;
    color: #000
}

.sec-dogo .floating-msg {
    display: none;
}



/* 플랜학습관리 */
.sec-manage {
    padding-bottom: 0;
    background: #f7f7f7;
}

.sec-manage .inner {
    max-width: 90%;
    margin: 0 auto;
}

.sec-manage .box_round {
    padding: 70px 0;
    border-radius: 0;
    background: #f7f7f7;
}

.sec-manage .manageImg {
    text-align: center;
}

.sec-manage.manage-area01 .manage_top {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    z-index: 2;
}

.manage_top .h_logo {
    display: none;
}

.manage_top .titleArea {
    width: 100%;
}

.manage_top .titleArea h2 {
    text-align: center;
    line-height: 1.4;
    color: var(--color-content-blue);
}

.manage_top .titleArea h2 br {
    display: none;
}

.manage_top .titleArea .titleText {
    text-align: left;
}

.manageImg {
    text-align: center;
    margin-bottom: 30px;
}

.manageImg img {
    width: 100%;
}

.manageImg img+img {
    width: 65%
}

/* 결론 */
.sec-summary {
    height: auto;
    background: url(../../img/sub_junior/sub_junior_img06.png) no-repeat center /contain;
}

.sec-summary .inner {
    display: block;
    max-width: 90%;
    margin-left: 35%;
}

.sec-summary .titleArea {
    width: 100%;
    color: #fff;
}

.sec-summary .titleArea h2 {
    text-align: center;
    line-height: 1.4;
    margin-bottom: 40px;
}

.sec-summary .titleText {
    text-align: center;
    margin-bottom: 20px;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.8);
}


/* 하단 */
.sec-learn {
    background: #f3f2f7;
}

.sec-learn .inner {
    max-width: 90%;
}

.sec-learn .learn-cont-wrap {
    margin-bottom: 40px;
}

.learn-cont-wrap .learn-cont-top {
    flex-direction: column;
    gap: 20px;
}

.learn-cont-wrap .learn-cont-top h2 {
    text-align: center;
    margin-bottom: 30px;
}

.learn-cont-wrap .learn-cont-top .titleText {
    text-align: center;
    margin-bottom: 25px;
}

.learn-cont-wrap .learn-cont-top .img-area {
    text-align: center;
}

.learn-cont-wrap .learn-cont-top img {
    max-width: 85%;
    margin: 0 auto 25px;
}

.learn-cont-mid {
    text-align: center;
}

.learn-cont-mid .sub-copy {
    font-size: 22px;
    margin-bottom: 25px;
    word-break: keep-all;
}

.learn-cont-mid .sub-copy span {
    display: block;
}

.learn-cont-mid em {
    font-size: 22px;
    font-weight: 600;
}

.learn-cont-mid h3,
.learn-cont-mid .slogan {
    font-size: 26px;
    margin-bottom: 30px;
    font-weight: 600;
}

.footer .inner {
    max-width: 96%;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
}
.footer .f_company {
    width: 50%;
    margin: 0;
}