@charset "utf-8";




/* section */


.title_center_sblack{font-weight: 600;}
.divider{width: 40px; height: 3px; background: #13aca5; border-radius: 6px; margin: 14px auto;}
.info_box_left{ flex: 1 1 calc(50% - 10px); box-sizing: border-box; background: #f8fafc; border: 1px solid e5e7eb; padding: 18px;min-width: 250px;border-radius: 6px;}
.info_box_right{ flex: 1 1 calc(50% - 10px); box-sizing: border-box; background: #f8fafc; border: 1px solid e5e7eb; padding: 18px;min-width: 250px;border-radius: 6px;}
.info_box{ display: flex;  gap: 28px; grid-template-columns: 1fr 1fr; margin: 0 auto;padding-bottom: 35px;}

.sub_foreign_box{width:100%; padding:30px; border:2px solid #4bb8b3;}


p.title_center_black{ font-size:28px; color:#222222; font-weight:bold; margin: 10px 0 10px 0;;}
p.title_center_sblack{text-align:center; font-size:26px; color:#222222; font-weight:bold; padding-bottom:10px; margin-bottom:10px;  margin-top:20px;}
p.title_center_green{padding: 30px 30px 0 30px; background-color: #f5faff; text-align:center; font-size:24px; color:#13aca5; font-weight:bold; margin-top:20px; }
p.title_left_green{text-align:left; font-size:28px; color:#13aca5; font-weight:bold; margin-bottom:30px;  margin-top:35px; letter-spacing:-1px;}
p.title_under_green{text-align:center; font-size:28px; color:#13aca5; font-weight:bold; margin-bottom:5px;  margin-top:35px; letter-spacing:-1px; background:url('/files/images/title_bar.png')no-repeat center bottom;}
p.title_none_green{text-align:center; font-size:28px; color:#13aca5; font-weight:bold; margin-bottom:10px;  margin-top:5px; letter-spacing:-1px;}
p.title_up_green{text-align:center; font-size:28px; color:#13aca5; font-weight:bold; margin-bottom:10px;  margin-top:35px; padding-top:10px;  letter-spacing:-1px; background:url('/files/images/title_bar.png')no-repeat center top;}
p.title_up_left_green{text-align:left; font-size:24px; color:#13aca5; font-weight:bold; margin-bottom:10px;  margin-top:0px; padding-bottom:10px;  letter-spacing:-1px; background:url('/files/images/title_bar.png')no-repeat bottom left;}
p.title_micon{text-align:left; font-size:20px; color:#525252; font-weight:bold; padding-left:25px; line-height:125%; margin: 10px 0 10px 0; background:url('/files/images/title_micon.png')no-repeat 5px 5px; }
p.title_mtext{text-align:left; font-size:16px; color:#525252; font-weight:bold; padding-left:20px; line-height:125%;}
p.title_utext{text-align:left; font-size:16px; color:#525252; font-weight:bold; padding-left:20px; line-height:125%; height:50px;  text-decoration:underline; padding-bottom:5px;}
p.text_sicon{text-align:left; font-size:16px; color:#525252; padding-left:35px; line-height:125%; background:url('/files/images/text_sicon.png')no-repeat 25px 5px; }
p.text_sign{padding:30px; background-color: #f5faff;text-align:right; color:#222222; font-weight:bold;margin-bottom: 20px;}
p.sub_mtext{text-align:left; font-size:16px; color:#525252; padding-left:20px; line-height:160%;}
p.sub_text{text-align:left; font-size:16px; color:#525252; line-height:150%;padding-bottom: 20px;}
p.sub_stext{text-align:left; font-size:15px; color:#525252; line-height:150%;}
p.sub_center_text{text-align:left;  font-size:16px; color:#525252; line-height:150%;padding: 0 0 40px 0;}
p.sub_center_stext{text-align:left; font-size:16px; color:#666666; line-height:150%;padding-top: 10px;}
p.text_sign_01{padding:0 0 20px 0; text-align:right; color:#222222; font-weight:bold;}
span.number_underline{position: relative;display: inline-block; }
span.number_underline::after{content: "";left: 0px;bottom: 0px;width: 100%;height: 2px;background-color: #13aca5;}

p.text_sicon_b{position: relative; text-align:left; font-weight:bold; font-size:20px; color:#525252;}
p.text_sicon_b::before{content: '•'; color: #13aca5; font-size: 20px; line-height: 125%; top: 0;}

span.green_b{color:#13aca5; font-weight:500;}
span.black_b{color:#000000; font-weight:bold;}
span.bunder{font-weight:bold; text-decoration:underline;}
.greeting_content{width:100%; display:inline-block;}
.sub_greeting_left{float:left; width:33%;}
.sub_greeting_right{float:left; }
p.sub_greeting_text{width: 100%; text-align:left;  font-size:16px; color:#525252; line-height:150%;padding: 0 0 40px 0;}
.signature {text-align: right;}

/* belief */
*{ box-sizing: border-box;}
.sub_people_box{ display: grid; grid-template-columns: 140px 1fr; gap:18px ; padding: 22px 0; border-bottom: 1px solid #e5e7eb ; }
/* .sub_people_left{ box-sizing: border-box;} */
/* .section{ display: block; unicode-bidi:isolate} */
        .tiles {
            display: grid;
            gap: 28px;
            margin-top: 10px;
            grid-template-columns: 1fr 1fr
        }

        .tile {
            border: 1px solid #e5e7eb;
            border-radius: 6px;
            overflow: hidden;
            background: #fff
        }

                :root {
            --brand: #18b5a4;
            /* 포인트 컬러 */
            --ink: #1f2937;
            /* 본문 글자 */
            --muted: #6b7280;
            /* 보조 텍스트 */
            --bg: #ffffff;
            --card: #f8fafc;
            --maxw: 1100px;
        }

        img {
            max-width: 100%;           
        }
        .muted {
            color: var(--muted)
        }
        .em {
            color: var(--brand);
            font-weight: 700
        }
        .pill-title {
            display: inline-block;
            color: var(--brand);
            border-bottom: 1px solid var(--brand);
            font-weight: 600;
        }
        .card {
            background: var(--card);
            border: 1px solid #e5e7eb;
            border-radius: 14px;
            padding: 18px
        }

        /* Image tiles + captions */
        .tile .photo {
            aspect-ratio: 4/3;
            overflow: hidden;
            background: #000
        }
        .tile img {
            width: 100%;
            height: 100%;
            object-fit: cover
        }
        .tile .cap {
            padding: 16px
        }
        .step {
            display: flex;
            align-items: center;
            gap: 10px;
            margin: 6px 0 2px
        }
        .num {
            width: 36px;
            height: 28px;
            border-radius: 6px;
            display: inline-grid;
            place-items: center;
            background: var(--brand);
            color: #fff;
            font-weight: 700;
            flex: 0 0 auto
        }
        .cap h4 {
            margin: 6px 0 6px;
            font-size: 18px
        }


	@media (min-width: 834px) and (max-width: 1024px){    
    p.sub_greeting_text{width: 100%;}
    .sub_teacher_left{width: 100%; padding-bottom: 40px;}
    .sub_greeting_left{width: 100%;padding-bottom: 20px;}
    p.title_center_black{font-size: 20px;}
    p.title_micon{font-size: 18px;line-height: 160%;}
    p.title_mtext{font-size: 16px;}
    p.title_center_green{font-size: 20px;}
    p.sub_mtext{font-size: 16px;}

   
}



	@media (max-width: 834px){    
        
    
    .sub_greeting_left{float:none; width: 100%;padding-bottom: 20px;}
    .sub_teacher_left{ width: 100%; padding-bottom: 40px;}
    p.title_left_green{font-size: 20px;}
    p.title_center_black{font-size: 20px;}
    p.title_micon{font-size: 18px;line-height: 135%;}
    p.title_mtext{font-size: 16px;}
    p.title_center_green{font-size: 20px;}
    p.text_sign{font-size: 16px;}
    p.sub_mtext{font-size: 16px;}
    p.text_sicon_b{font-size: 16px;}
     
}



	@media only screen and (max-width : 420px){    
	p.title_center_sblack{text-align:left; font-size:18px;}
    .sub_people_box { grid-template-columns: 1fr; gap: 10px; }
    .tiles{grid-template-columns: 1fr; gap: 10px; !important;} 
     .sub_teacher_left{width: 100%; padding-bottom: 40px;}

	.greeting_content{width:100%; display:inline-block;}
	.sub_greeting_left{float:none; width:100%;}
	.sub_greeting_left img{width:100%;}
	.sub_greeting_right{float:none; width:100%;}
	p.sub_greeting_text{text-align:left;  font-size:16px; color:#525252; line-height:150%;padding: 0 0 40px 0;}
    p.title_left_green{font-size: 20px; margin-bottom: 10px; margin-top: 10px;}
    table.board_text td{font-size: 14px;}
    table.board_text th{font-size: 15px;}
    p.text_sicon{font-size: 14px; padding-bottom: 10px;}
    p.sub_text{font-size: 14px;}
    p.sub_center_text{font-size: 14px;}
    p.title_center_black{font-size: 20px;}
    p.title_micon{font-size: 16px; line-height: 160%}
    p.title_mtext{font-size: 16px;}
    p.title_center_green{font-size: 20px;}
    p.text_sign{font-size: 16px;}
    p.sub_mtext{font-size: 14px;}
    p.title_utext{font-size: 14px;padding:0 0 0 20px;margin-bottom: 20PX; }
    p.title_mtext{font-size: 14px;padding:0 0 20px 20px; }
    p.text_sicon_b{font-size: 14px;}


}
/* 모바일 2차 서브메뉴 — 캐시/우선순위 이슈 대비 강제 적용 */
@media (max-width: 834px) {
	.submenu_list,
	.n3 .submenu_list,
	.n4 .submenu_list,
	.n5 .submenu_list,
	.n6 .submenu_list,
	.n7 .submenu_list {
		display: flex !important;
		flex-wrap: wrap !important;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		margin-top: 12px !important;
		margin-bottom: 16px !important;
		padding: 0 !important;
		overflow: visible !important;
		white-space: normal !important;
	}
	.submenu_list a,
	.submenu_list a.btn-submenu,
	.n3 .submenu_list a,
	.n4 .submenu_list a,
	.n5 .submenu_list a,
	.n6 .submenu_list a,
	.n7 .submenu_list a {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		float: none !important;
		width: calc(50% - 4px) !important;
		max-width: none !important;
		min-height: 52px !important;
		height: auto !important;
		margin: 2px !important;
		padding: 10px 6px !important;
		box-sizing: border-box !important;
		font-size: 13px !important;
		line-height: 1.35 !important;
		white-space: normal !important;
		word-break: keep-all !important;
		overflow-wrap: break-word !important;
		letter-spacing: -0.5px !important;
		vertical-align: top !important;
	}
	.submenu_list a.focus,
	.submenu_list a.hover,
	.n5 .submenu_list a.focus,
	.n5 .submenu_list a.hover {
		height: auto !important;
		min-height: 52px !important;
		border: 1px solid #06158d !important;
		border-top: 2px solid #06158d !important;
		color: #06158d !important;
		font-weight: 600 !important;
		background: #fff !important;
	}
}

/* 모바일 전용: 상세설명 본문 글자 축소 + 본문 표만 비율 축소(JS) */
@media (max-width: 834px) {
	.detail-explain {
		padding: 16px 0 !important;
		/* overflow-x:hidden 만 주면 overflow-y 도 auto로 바뀌어 표 하단이 잘릴 수 있음 */
		overflow: visible;
		max-width: 100%;
		box-sizing: border-box;
		word-break: keep-all;
		overflow-wrap: break-word;
	}

	.detail-explain > p,
	.detail-explain > p span,
	.detail-explain > p strong,
	.detail-explain > p b,
	.detail-explain > p font,
	.detail-explain > p a {
		font-size: 14px !important;
		line-height: 1.55 !important;
		letter-spacing: -0.3px;
	}

	.detail-table-scale {
		display: block;
		position: relative;
		width: 100% !important;
		max-width: 100% !important;
		/* hidden이면 높이 오차 시 하단이 잘림 → visible로 유지 */
		overflow: visible !important;
		margin: 12px 0 32px;
		padding-bottom: 8px;
		box-sizing: border-box;
	}

	.detail-table-scale table {
		margin: 0 !important;
		transform-origin: top left;
		/* 기본 15px → 20px (+5) */
		font-size: 20px !important;
	}

	.detail-table-scale table caption,
	.detail-table-scale table caption span,
	.detail-table-scale table caption strong {
		font-size: 29px !important; /* 24+5 */
		line-height: 1.3 !important;
	}

	.detail-table-scale table th,
	.detail-table-scale table td,
	.detail-table-scale table th span,
	.detail-table-scale table td span,
	.detail-table-scale table th strong,
	.detail-table-scale table td strong,
	.detail-table-scale table th font,
	.detail-table-scale table td font,
	.detail-table-scale table th p,
	.detail-table-scale table td p {
		font-size: 20px !important;
		line-height: 2 !important;
	}

	/* 강조 행 인라인 20px → 25px (+5) */
	.detail-table-scale table [style*="font-size:20px"],
	.detail-table-scale table [style*="font-size: 20px"],
	.detail-table-scale table [style*="font-size:20px"] span,
	.detail-table-scale table [style*="font-size: 20px"] span {
		font-size: 25px !important;
	}
}

/*
 * iOS + macOS Safari 전용 열 비율 보정 (갤럭시/Chrome 미적용)
 * - schedule: 주차표 (width:100% th 버그)
 * - book: 교재안내 (출판사 열 과대 방지)
 */
@supports (-webkit-touch-callout: none) {
	.detail-explain table.safari-col-fix,
	.detail-table-scale table.safari-col-fix {
		table-layout: fixed !important;
	}

	/* 일정표: 주차 / 일자 / 과목1 / 과목2 (합 100%) */
	.detail-explain table.safari-col-fix--schedule thead th:nth-child(1),
	.detail-explain table.safari-col-fix--schedule tbody td:nth-child(1),
	.detail-table-scale table.safari-col-fix--schedule thead th:nth-child(1),
	.detail-table-scale table.safari-col-fix--schedule tbody td:nth-child(1) {
		width: 8% !important;
		max-width: 8% !important;
		min-width: 0 !important;
	}

	.detail-explain table.safari-col-fix--schedule thead th:nth-child(2),
	.detail-explain table.safari-col-fix--schedule tbody td:nth-child(2),
	.detail-table-scale table.safari-col-fix--schedule thead th:nth-child(2),
	.detail-table-scale table.safari-col-fix--schedule tbody td:nth-child(2) {
		width: 14% !important;
		max-width: 14% !important;
		min-width: 0 !important;
	}

	.detail-explain table.safari-col-fix--schedule thead th:nth-child(3),
	.detail-explain table.safari-col-fix--schedule tbody td:nth-child(3),
	.detail-table-scale table.safari-col-fix--schedule thead th:nth-child(3),
	.detail-table-scale table.safari-col-fix--schedule tbody td:nth-child(3) {
		width: 39% !important;
		max-width: 39% !important;
		min-width: 0 !important;
		word-break: keep-all;
		overflow-wrap: break-word;
	}

	.detail-explain table.safari-col-fix--schedule thead th:nth-child(4),
	.detail-explain table.safari-col-fix--schedule tbody td:nth-child(4),
	.detail-table-scale table.safari-col-fix--schedule thead th:nth-child(4),
	.detail-table-scale table.safari-col-fix--schedule tbody td:nth-child(4) {
		width: 39% !important;
		max-width: 39% !important;
		min-width: 0 !important;
		word-break: keep-all;
		overflow-wrap: break-word;
	}

	/* 헤더/본문 colspan=2 → 과목 두 열 합(78%) */
	.detail-explain table.safari-col-fix--schedule thead th[colspan="2"],
	.detail-explain table.safari-col-fix--schedule tbody td[colspan="2"],
	.detail-table-scale table.safari-col-fix--schedule thead th[colspan="2"],
	.detail-table-scale table.safari-col-fix--schedule tbody td[colspan="2"] {
		width: 78% !important;
		max-width: 78% !important;
	}

	/* 교재안내: 과목명 / 교재명 / 출판사 */
	.detail-explain table.safari-col-fix--book thead th:nth-child(1),
	.detail-explain table.safari-col-fix--book tbody td:nth-child(1),
	.detail-table-scale table.safari-col-fix--book thead th:nth-child(1),
	.detail-table-scale table.safari-col-fix--book tbody td:nth-child(1) {
		width: 38% !important;
		max-width: 38% !important;
		min-width: 0 !important;
	}

	.detail-explain table.safari-col-fix--book thead th:nth-child(2),
	.detail-explain table.safari-col-fix--book tbody td:nth-child(2),
	.detail-table-scale table.safari-col-fix--book thead th:nth-child(2),
	.detail-table-scale table.safari-col-fix--book tbody td:nth-child(2) {
		width: 38% !important;
		max-width: 38% !important;
		min-width: 0 !important;
	}

	.detail-explain table.safari-col-fix--book thead th:nth-child(3),
	.detail-explain table.safari-col-fix--book tbody td:nth-child(3),
	.detail-table-scale table.safari-col-fix--book thead th:nth-child(3),
	.detail-table-scale table.safari-col-fix--book tbody td:nth-child(3) {
		width: 24% !important;
		max-width: 24% !important;
		min-width: 0 !important;
		word-break: keep-all;
		overflow-wrap: break-word;
	}
}
