@import url('https://webfontworld.github.io/gmarket/GmarketSans.css');
@import url('//fonts.googleapis.com/earlyaccess/notosanskr.css');

@viewport {width : device-width;}

body	{margin:0; padding:0; -webkit-text-size-adjust:none; }

/********** reset **********/
*{margin:0;padding:0;box-sizing:border-box; font-smoothing:antialiased}
body,div,dl,dt,dd,ul,ol,li,pre,form,fieldset,input,select,textarea,p,blockquote,th,td,button{ margin:0; padding:0; font-family:   'Noto Sans KR', 'Malgun Gothic', Roboto sans-serif; font-weight:normal; line-height: 28px; font-size: 16px;}
li,p,dt,dd,div,span,td,th{word-break:break-all;word-wrap:break-word; margin: 0;padding: 0; line-height: 28px;}
img{border:none;outline:none;}
input[type="radio"] {top: 4px; padding:0; border: none;margin-right: 6px;width:20px; height:20px; position: relative; vertical-align: text-top; word-break: break-word; border:1px solid #CBCBCB; }
input { padding: 6px ; border-radius: 4px; border:0; background: #F9F9F9; border: 1px solid #ddd; height: 46px;vertical-align:middle;text-indent: 0;width: auto; word-break: break-word; font-size: 16px;}
select {padding: 9px 9px 9px 9px; border: 1px solid #ddd; border-radius: 8px;  vertical-align: bottom;height: 46px; width: auto; text-indent: 0; font-size: 16px;}
a {text-decoration: none !important;}
input::placeholder {color: #c9c9c9;}
textarea {border-radius: 8px;}

#print-2020 .ct_view1 {width: 100%;}
#print-2020 .ct_view1 dt {font-size: 18px; font-weight: 600; padding-right: 20px; border-right: 1px #ddd solid; border-bottom: 1px #ddd solid;}
#print-2020 .ct_view1 dd {font-size: 16px; font-weight: 400;  border-bottom: 1px #ddd solid; padding-left: 20px;}
#print-2020 .ct_view2 dt {font-size: 18px; font-weight: 600; padding-right: 20px; border-right: 1px #ddd solid; border-bottom: 1px #ddd solid;}
#print-2020 .ct_view2 dd {font-size: 16px; font-weight: 400;  border-bottom: 1px #ddd solid; padding-left: 20px;}


/*ȸ������*/
#wrap		{float:left; width:100%; height:100vh; display:table;}
.con-wrap 	{display:table-cell; vertical-align:middle; width:100%; height:auto;}
.con-box	{display:table; border:1px #ddd solid; width:40%; margin:0 auto; padding:3%}
.con-box .tit		{text-align:center; font-size:16px; line-height:24px;}
.con-box .tit span	{font-size:27px; display:block; margin-top:10px; }
.con-box .stit		{font-size:15px; line-height:24px; ; display:block; margin-bottom:10px}

/*login,join����*/
.login-box,.join-box		{float:left; width:100%; padding-top:30px;}
.login-box li,.join-box li	{float: left; width: 100%; margin-bottom:12px;}
.login-box input	{width: 100% !important;}
.btn-box		{float:left; width:100%; margin-top:12px}
.btn-box .btn	{background:#0066b3; text-align:center; border:none; color:#fff; font-size:14px; cursor:pointer; text-indent: 0; width: 100%;}
.btn-box a.btn	{float:left; width:100%; height:40px; line-height:40px;}
.btn-box a.btn:hover	{text-decoration:none}
.op		{float:left; width:100%; position:relative; margin-top:10px; text-align:center; font-size:13px; color:#0187ce; }
.op a	{font-size:13px; color:#0187ce;  }

.con-box.join-area	{width:38%; height:90%; overflow-y:scroll; display:block;}
#join-agree-box 	{ float:left; width:100%; margin-top:25px}
#join-agree-box .join-agree-iframe	{width:100%}
#join-agree-box .join-agree-iframe-inner {border:1px solid #ccc; padding:15px; height:150px; overflow:hidden; overflow-y:auto; font-size:13px; line-height:1.6; color:#666}

#join-agree-box .check-area  {text-align: left; margin: 20px;  ; font-size:14px; color: #333;}
#join-agree-box .check-area input {width:16px; height:16px; border: 1px solid #333; position:relative; top:2px}
.join-form			{float:left; width:100%; margin-top:25px}
.join-form table	{width: 100%;border-top: 2px solid #666; background: #fff; margin-bottom: 20px;}
.join-form th		{width:28%; padding: 6px; border: 1px solid #ddd; border-top: 0; background: #f6f6f6; color: #000; font-size:15px;  ; text-align: left;}
.join-form td		{border-bottom: 1px solid #ddd; padding: 6px; font-size: 14px; color: #555;}

.join-form input[type="radio"]	{width:16px; height:16px; position:relative; top:2px}
.join-form .input_s	{width:31.6%}

#publisher input {display: inline-block !important;}

@media (max-width: 1024px) and (min-width: 320px){
.con-box	{width:90%!important; border:none}
#join-agree-box .check-area	{margin:10px; font-size:13px}
.join-form th		{width:33%; font-size:12px; word-break:keep-all}
.join-form input,.join-form select,.join-form .input_s	{width:100%!important}
.join-form input[type="radio"]	{width:16px!important}
}

/********** 2021����â�۱��� ���� **********/

#main-poster {}
#main-poster img {object-fit: cover; height: 724px; width: 100%;}

#content-back {width: 100%; background-color: #f5f5f5;}
.content-wrap {width: 1200px; margin: 0 auto; padding: 30px 0;}
.item-box {padding: 30px 0; }
.item-box dl dt {padding-left: 30px; margin-bottom: 16px;word-break: break-word;}
.item-box dl dd {padding: 30px; background-color: #fff; border: 1px solid #cdcdcd;word-break: break-word;}
.item-box dl dt span {font-weight: 600; font-size: 21px; border-bottom: 2px solid #a468a4; padding-bottom: 18px;word-break: break-word;}
.item-box dl dt span.red {border-bottom: 2px solid #c5440c; word-break: break-word;}
.item-box dl dt span.blue {border-bottom: 2px solid #22727b;word-break: break-word; }
.item-box dl dt span.wood {border-bottom: 2px solid #cc5341;word-break: break-word; }
.item-box dl dt span.sky {border-bottom: 2px solid #015ac5;word-break: break-word; }

.item-box .ex-2 {width:100%; word-break: break-word;}
.item-box .ex-2 dt {margin-bottom: 0; display: inline-block; width: 1%; vertical-align: top; padding-left: 0; word-break: break-word;}
.item-box .ex-2 dd {display: inline-block; border: none; padding: 0; width: 98%; vertical-align: top; word-break: break-word;}
.item-box .ex-3 {width:100%; word-break: break-word;}
.item-box .ex-3 dt {margin-bottom: 0; display: inline-block; width: 1.5%; vertical-align: top; padding-left: 0; word-break: break-word;}
.item-box .ex-3 dd {display: inline-block; border: none; padding: 0; width: 98%; vertical-align: top; word-break: break-word;}
.item-box .ex-4 {width:100%; word-break: break-word;}
.item-box .ex-4 dt {margin-bottom: 0; display: inline-block; width: 1.3%; vertical-align: top; padding-left: 0; word-break: break-word;}
.item-box .ex-4 dd {display: inline-block; border: none; padding: 0; width: 98%; vertical-align: top; word-break: break-word;}
.item-box .ex {width:100%; word-break: break-word;}
.item-box .ex dt {margin-bottom: 0; display: inline-block; padding-left: 20px; width: 3%; vertical-align: top; word-break: break-word;}
.item-box .ex dd {display: inline-block; border: none; padding: 0; width: 96%; vertical-align: top; word-break: break-word;}
.item-box .ex-ex {width:100%; word-break: break-word;}
.item-box .ex-ex dt {margin-bottom: 0; display: inline-block; width: 2%; vertical-align: top; padding-left: 0; word-break: break-word;}
.item-box .ex-ex dd {display: inline-block; border: none; padding: 0; width: 97%; vertical-align: top; word-break: break-word;}

.item-box .line {color: #ddd; margin: 0 20px;}

/********** 2021û�ҳ⹮�л� **********/
.content-table {border-collapse: collapse; margin-bottom: 10px; width: 100%;}
.content-table tbody {border: 1px solid #ddd; }
.content-table tbody tr {border: 1px solid #ddd; }
.content-table tbody tr td {border: 1px solid #ddd; padding: 10px 40px; text-align: center; word-break: break-word; font-weight: 300; }
.content-table tbody tr th {border: 1px solid #ddd; padding: 10px 40px; text-align: center; font-weight: 600; word-break: break-word;}

/********** 2021���� **********/
.down {margin: 16px 0;}
.down-button {padding: 14px 30px 12px; background: #22727b; color: #fff; margin-right: 20px; border: none; border-radius: 4px;}
.down-button.brown {background: ##105a25;}
.down-button.teengater {background: #79b0df;}
.down-button.teengater:hover {background: #337cbb;}

.down-button a:link {text-decoration: none;}
.down-button a:hover {text-decoration: none;}
.down-button:hover {background: #0f555d; text-decoration: none;}
.down-button.brown:hover {background: #0f555d; }
.down-button.translate {background: #3d9eef; }
.down-button.translate:hover {background: #1e7ac7; }
.translate-button-wrap {margin: 0 auto; text-align: right; width: 1200px;}
.translate-button-wrap .translate-button {}
.translate-button-wrap .translate-button ul {display: inline-block; }
.translate-button-wrap .translate-button li {font-size: 16px; color: #000; padding: 4px 0; display: inline-block; width: 120px; text-align: right;}
.translate-button-wrap .translate-button li a:hover {color: #0040A0 !important;}
.translate-button-wrap .translate-button li a:link {text-decoration: none; color: #000; }
.translate-button-wrap .translate-button li a:visited {text-decoration: none; color: #000; }
.translate-button-wrap .translate-button .on {color:#996867;}
.translate-button-wrap .translate-button .on a:hover{color: #0040A0;}
.translate-button-wrap .translate-button .on a:link {color: #0040A0;}
.translate-button-wrap .translate-button .on a:visited {text-decoration: none; color: #0040A0; }

.apply-co {text-align: center; font-weight: 600; padding: 8px 0 !important; background: #F1F1F1;}

/********** apply **********/
#apply-content-back {width: 100%; background-color: #fff;}
#apply-content-back .content-wrap {width: 1200px; margin: 0 auto; padding: 30px 0;}
#apply-content-back .confirm-wrap {width: 900px; margin: 40px auto ; box-shadow: 2px 4px 40px #d3d3d3; padding: 30px; border-radius: 60px;}
.apply-header h3 {font-size: 32px; padding: 30px 0; display: block; margin: 0 auto; text-align: center;}

.apply-table {margin-top:80px;}
.apply-table table{width: 100%; text-align: left; margin: 0px auto; font-size: 18px; border-spacing: 0;}
.apply-table table tr{vertical-align: text-top;}
.apply-table table th {font-size: 26px; color: #222222; vertical-align: text-top; font-weight: 500; text-align: left; background: url(../img/common/line.png) no-repeat 0 0px;}
.apply-table.en table th {font-size: 20px; padding-right: 10px; word-break: break-word;}
.apply-table table td {font-size: 18px; color: #222222;vertical-align: text-top; font-weight: 300; padding: 20px 0; background: url(../img/common/line.png) no-repeat 0 0px;}
.apply-table ul li {display: inline-block; margin-right: 20px; font-size: 18px; font-weight: 300;}
.apply-table ul li:last-child {margin-right: 0px;}
.apply-table table p {font-size: 14px; line-height: 22px; padding-top: 10px; font-weight: 300; color: #000000;}
.apply-table .work {width: 100%; vertical-align: text-top;}
.apply-table .work dl {padding-bottom: 12px;}
.apply-table .work dl dt {font-size: 18px; font-weight: 500; color: #222222;}
.apply-table .work dl dd {font-size: 18px; font-weight: 300; color: #222222;}
.apply-table .work2 {width: 100%; vertical-align: text-top;}
.apply-table .work2 dl {padding-bottom: 12px;}
.apply-table .work2 dl dt {font-size: 18px; font-weight: 500;}
.apply-table .work2 dl dd {font-size: 18px; font-weight: 300;}
.apply-table .awardadd {width: 100%; vertical-align: text-top;}
.apply-table .awardadd dl {padding-bottom: 12px;}
.apply-table .awardadd dl dt {font-size: 18px; font-weight: 500;}
.apply-table .awardadd dl dd {font-size: 18px; font-weight: 300;}
.apply-table dl {display: inline-block; width: 100%;}
.apply-table dl dt {display: inline-block; width: 20%; }
.apply-table dl dd {display: inline-block; width: 79%;}
.apply-table .plus-button {padding: 0 20px; margin: 0 auto; border: none;  height: 46px;  border-radius: 4px;  background: #1569b1 ;color: #ffffff;  display: flex;  align-items: center;  justify-content: center;  font-weight: 600;  font-size: 18px;  vertical-align: middle; cursor: pointer; }
.apply-table .plus-button:hover {background: #0a477b;}
.apply-table .plus-button2 {padding: 0 20px; margin: 0 auto;  border: none;  height: 46px;  border-radius: 4px;  background: #1569b1 ;color: #ffffff;  display: flex;  align-items: center;  justify-content: center;  font-weight: 600;  font-size: 18px;  vertical-align: middle; cursor: pointer; }
.apply-table .plus-button2:hover {background: #0a477b;}
.apply-table .add-info {display: flex; justify-content: space-between; align-items: center;}
.apply-table .add-info .text {font-size:30px; margin-right:20px;}
.apply-table .add-info .line {border-bottom: 1px solid #222222; width: 87%; height: 1px; font-size: 0;}

.agree-wrap {width: 100%; color: #222222; margin-top: 100px;}
.agree-wrap h4 {font-size: 24px; font-weight: 300; margin-bottom: 30px; color: #222222;}
.agree-wrap p {font-size: 16px !important; line-height: 28px !important; word-break: break-word; color: #222222;}
.agree-wrap .agree-check {width:160px ; margin: 0 auto; margin-top: 50px; width: fit-content;}
.agree-check-ko {width:160px ; margin: 0 auto; margin-top: 20px;}
.agree-check-en {width:230px ; margin: 40px auto; }
.agree-wrap ul li {display: inline-block; margin-right: 30px; font-size: 16px; font-weight: 300;}
.agree-wrap ul li:last-child {margin: 0;}

.agree-wrap-2 {width: 100%; background: #fff; margin-top: 30px; background: #edf1f2; padding: 30px;}
.agree-wrap-2 h4 {font-size: 18px; font-weight: 600; margin-bottom: 20px;}
.agree-wrap-2 p {font-size: 16px; line-height: 24px;}

.step3-agree-check-box .step3-agree-check-top {display: flex; justify-content: start; background: url(../img/common/line.png) no-repeat 0px 47px; margin: 30px 0;}
.step3-agree-check-box .step3-agree-check-top .check input[type="checkbox"] {display: none;}
.step3-agree-check-box .step3-agree-check-top .check input[type="checkbox"] + label {display: inline-block; position: relative; height: 30px; width: 30px; border-radius: 8px; background: #FEF9E5; border:1px solid #DFCAAF; margin-right: 20px; top: -4px;}
.step3-agree-check-box .step3-agree-check-top .check input[id="agree"]:checked + label::after{content:''; font-size: 25px; width: 30px; height: 30px; text-align: center; position: absolute; left: 7px; top: 5px; background: url(../img/common/check-mark.png) no-repeat; display: block;}
.step3-agree-check-box .step3-agree-check-top .check input[id="agree2"]:checked + label::after{content:''; font-size: 25px; width: 30px; height: 30px; text-align: center; position: absolute; left: 7px; top: 5px; background: url(../img/common/check-mark.png) no-repeat; display: block;}
.step3-agree-check-box .step3-agree-check-top .check input[id="agree3"]:checked + label::after{content:''; font-size: 25px; width: 30px; height: 30px; text-align: center; position: absolute; left: 7px; top: 5px; background: url(../img/common/check-mark.png) no-repeat; display: block;}
.step3-agree-check-box .step3-agree-check-top .title {font-size: 26px; font-weight: 300;}
.step3-agree-check-box h4 {margin-bottom: 20px;vertical-align: middle;  font-size: 22px; font-weight: 500; display: inline-block; color: #222222;}
.step3-agree-check-box table{margin: 0px 0px 10px; width: 100%; border: 1px solid #dedede; border-collapse: collapse;}
.step3-agree-check-box table tr {height: 34px;}
.step3-agree-check-box table th {font-weight: 500; text-align: left; padding: 6px 20px; border: 1px solid #222222; font-size: 18px;}
.step3-agree-check-box table td {font-size: 18px; color: #222222; vertical-align: middle; padding: 6px 20px ; border: 1px solid #222222; font-weight: 300;}
.step3-agree-check-box p {font-size: 18px !important;}
.final-agree-check p {font-weight: 700 !important; font-size: 24px !important; text-align: center; color: #000;}

.ste3-agree-wrap {width: 100%; background: #F1F1F1; padding: 40px 30px; border-radius: 16px; color: #222222; margin:100px 0 40px;}
.ste3-agree-wrap h4 {font-size: 24px; font-weight: 600; margin-bottom: 30px; color: #222222;}
.ste3-agree-wrap p {font-size: 18px !important; line-height: 28px !important; word-break: break-word; color: #222222;}
.step3-agree-check-box {margin: 0px 0 50px;}
.step3-agree-check {display: flex; margin: 40px 0 0; align-items: center; justify-content: center;}
.step3-agree-check ul {width: 540px; display: flex; height: 60px; justify-content: space-between; align-items: center; background: #F2F2F2; border-radius: 30px; padding: 0 100px;}
.step3-agree-check ul li {font-size: 18px; font-weight: 600;}
.step3-agree-check.final ul{background: #DCEBFF;}
.step3-agree-check.final input[type="checkbox"] {display: none;}
.step3-agree-check.final input[type="checkbox"] + label {display: inline-block; position: relative; height: 30px; width: 30px; border-radius: 8px; background: #FEF9E5; border:1px solid #DFCAAF; margin-right: 10px; top: 10px;}
.step3-agree-check.final input[type="checkbox"]:checked + label:after {content:''; font-size: 25px; width: 30px; height: 30px; text-align: center; position: absolute; left: 7px; top: 5px; background: url(../img/common/check-mark.png) no-repeat; display: block; }
.next {margin: 30px auto; align-items: center;display: flex; flex-direction: column;}
.next ul li {display: inline-block; }
.next ul li {margin-right: 20px;}
.next input{ font-size: 24px; color: #fff; height: 80px; padding: 0 50px; display: flex; justify-content: center; align-items: center; background-color: #1569b1;  border-radius: 8px; cursor: pointer;}
.next input:hover {background: #0a477b; transition: 0.3s;}
.next input.modify{ font-size: 24px; color: #fff; padding: 0 40px; height: 80px; display: flex; justify-content: center; align-items: center; background-color: #1569b1;  border-radius: 8px; cursor: pointer; margin-bottom: 8px;}
.next input.modify:hover {background: #0a477b; transition: 0.3s;}
.next.teenager input {background: #1c8e72;}
.next.teenager input:hover {background: #08624c;}
.next.translate input {background: #3d9dee;}
.next.translate input:hover {background: #1e7ac7;}
.next.translate-fo input {background: #ec008b;}
.next.translate-fo input:hover {background: #c30876;}


.poll-wrap {display: flex;}
.poll {height: 60px;font-size: 20px;font-weight: 500;width: auto;background: #ff9800;display: flex;align-items: center;margin: 0 auto 50px;border-radius: 4px;padding: 0 80px;justify-content: center;}
.poll:hover {background: #d3840f; transition: 0.3s;}
.poll a:link, .poll a:visited {font-weight: 500; font-size: 28px; color: #fff;}

.application { margin: 0 auto; }
.application.confirm {width: 350px !important;}
.application table {width: 100%; text-align: left;}
.application table th {font-size: 18px; text-align: left;}
.application table tr {height: 60px;}

.work-textarea {width: 100%; height: 500px; border: none; padding: 10px; vertical-align: text-top; background: #f9f9f9; border:1px solid #ddd;}
.work-textarea-plan {width: 100%; height: 200px; border: none; padding: 10px; vertical-align: text-top; background: #f9f9f9; border:1px solid #ddd;}
.class-textarea {width: 100%; height: 200px; border: none; padding: 10px; border-radius: 8px; vertical-align: text-top; background: #f9f9f9; border:1px solid #ddd;}

.redstar {color: #FF431A;  font-weight: 300; font-size: 30px; vertical-align: middle; margin-left: 6px; padding-top: 8px;  line-height: 20px; display: inline-block;}
.notice {color: #FF431A; font-size: 16px;}

.apply-top-notice {padding: 20px 40px; border: 1px dotted #dedede; background: #f4f9ff;margin-top: 20px;}

/********** �ϴ� **********/
#bottom-back {background-color: #E4E4E4; width: 100%;}
.bottom-wrap {margin: 0 auto; width: 1200px; padding: 60px 0;}
.bottom-wrap p {display: inline-block; font-size: 18px; font-weight: 300; line-height: 36px; color: #222222;}

/********** �ɻ������� **********/
.original {padding:2px 4px; background: #065DB9; color:#fff;}
.original:hover {padding:2px 4px; background: #121c64; color:#fff;}



/**************************************** 2022 ���������� ******************************/

#daesan-competition-wrap {width: 100%; display:grid;}

/********** header **********/
#competition-gnb {width: 100%; height: 120px; box-shadow: 0px 8px 30px #efefef; z-index: 999999;display: flex;}
.gnb-wrap {width: 1200px; margin: 0 auto; display: flex; justify-content: space-between;}
.logo {display: flex; align-items: center; }
.logo a:link, .logo a:visited {font-size: 40px; font-weight: 700; color: #333333;}
.gnb {display: flex; align-items: center; }
.gnb ul {display: flex; align-items: center;}
.gnb ul li {width: 200px; display: flex; align-items: center; height: 100%; justify-content: flex-end;}
.gnb ul li a { display: flex; align-items: center; font-size: 30px; color: #333333; font-weight: 500;}
.gnb ul li a:hover {font-weight:700; color: #000000;}
.gnb ul li a:visited {font-size: 30px; color: #333333; font-weight: 500;}
.gnb ul li.on a{font-weight: 700; color: #000000;}
.gnb ul li.on a:hover {font-weight:700; color: #000000;}
.gnb ul li a img {display: flex; align-items: center; margin-left: 10px;}

#content-wrap {width: 100%; background-color: #ffffff;}
.content {width: 1200px; margin: 0 auto; display: flex; flex-direction: column; position: relative;}
.content.main {}

.content p {font-size: 18px; line-height: 32px; font-weight: 300; word-break: break-word;}
.content .p-8 {padding-left: 8px; display: flex;}
.content .p-12 {padding-left: 12px; display: flex;}
.content .p-16 {padding-left: 16px; display: flex;}
.content .p-34 {padding-left: 34px; display: flex;}
.content .p-60 {padding-left: 60px; display: flex;}
.content .p-78 {padding-left: 78px; display: flex;}
.content .p-120 {padding-left: 120px; display: flex;}
.content .p-134 {padding-left: 134px; display: flex;}

.content-box .p {font-size: 18px; line-height: 32px; font-weight: 300; display: flex; flex-direction: row;}
.content-box .p .mark {margin-right: 10px; display: inline-block; font-size: 18px; line-height: 36px; font-weight: 300;}
.content-box .p .text {display: inline-block; font-size: 18px; line-height: 32px; font-weight: 300; word-break: keep-all; color: #222;}
.content-box .p.p-20 {padding-left: 20px;}
.content-box .p.p-26 {padding-left: 26px;}
.content-box .p.p-30 {padding-left: 30px;}
.content-box .p.p-40 {padding-left: 40px;}
.content-box .p.p-50 {padding-left: 50px;}

.link-bt {font-weight: 300; background-color: #e4eef9; border-radius:8px; padding:0px 11px 2px;}
.link-bt a::after {content: ''; background: url(../img/link-thin-2.png) no-repeat 1px 2px; width: 20px; height: 20px; display: inline-block; background-size: 20px; padding: 2px; margin-bottom: -5px; margin-left: 10px;}
.link-bt a {color: #1e7ac7; font-size: 16px; line-height: 32px; font-weight: 500;}
.link-bt a:visited { color: #1e7ac7; font-weight: 500;}
.link-bt.translate a:visited {background:#1569b1; }
.content.main .link-bt a {color: #1569b1; font-size: 18px; line-height: 36px;}
.content.main .link-bt a:visited {color: #1569b1; }
.content-box {margin-top: 80px;}
.content-box .title {background: url(../img/common/line.png) no-repeat 0 29px; margin-bottom: 20px; }
.content-box .title h3 {font-size: 28px; font-weight: 500; display: inline-block; color: #fff; padding: 10px 20px 14px; background: #0b903f; border-radius: 30px; line-height: 32px;}
.content-box .title.teenager h3 {background: #f05688;}
.content-box .title.translate h3 {background: #0b903f;}
.content-box .red {color: #FF431A;}
.content .date dl dt, dd {font-size: 28px; line-height: 40px; color: #000000; display: inline-block; vertical-align: text-top;}
.content .date dl {display: inline-block; border-radius: 20px; color: #000000; float: right;}
.content .date dl dt {display: inline-block; font-weight: 500; padding: 2px 20px; background: #1268d5; color: #fff; border-radius: 12px; margin-right: 10px;}
.content .date dl dd { display: inline-block;}
.content .date dl dd b{color: #1268d5;}
.content .date.translate dl dt {background: #c35049;}
.content .date.translate dl dd b{color: #c35049;}
.content .date.teenager dl dt {background: #21b74c;}
.content .date.teenager dl dd b{color: #21b74c;}
.content .date.translate-fo dl dt {background: #021782;}
.content .date.translate-fo dl dd b{color: #021782;}
.content .date.university dl dt {background: #3f51b5;}
.content .date.university dl dd b{color: #3f51b5;}
.support {text-align: right; margin-bottom: 40px;}
.support span {font-size: 24px; text-align: right; padding: 8px 20px; background-color: #ebebeb; border-radius: 8px; color:#000; }

.apply-bt-wrap {display: flex; justify-content: center; align-items: center; margin: 100px 0;}
.apply-bt { font-size: 30px; color: #fff; display: flex; justify-content: center; align-items: center; border-radius: 8px; cursor: pointer; }
.apply-bt.main-button {padding: 0 30px ; height: 100px; }
.apply-bt.main-button.creative {background-color: #67cef5;}
.apply-bt.main-button.creative:hover {background-color: #2facdc;}
.apply-bt.main-button.teenager {background-color: #79b0df;}
.apply-bt.main-button.teenager:hover {background-color: #337cbb;}
.apply-bt.main-button.translate {background-color: #3d9dee; margin: 30px 0;}
.apply-bt.main-button.translate:hover {background-color: #1e7ac7;}
.apply-bt.main-button.translate-fo {background-color: #ec008b;}
.apply-bt.main-button.translate-fo:hover {background-color: #c30876;}
.apply-bt.main-button img {display: block; padding-left: 20px;}
.apply-bt input {border: none;  background-color: #AEAEAE; font-size: 24px; color: #fff; font-weight: 600; cursor: pointer; padding: 0 30px; height: 100px; }
.apply-bt input:hover {background: #67cef5; transition: 0.3s;}
.apply-bt.teenager input:hover {background: #1c8e72; transition: 0.3s;}
.apply-bt.translate input:hover {background: #3d9dee; transition: 0.3s;}
.apply-bt.translate-fo input:hover {background: #ec008b; transition: 0.3s;}
.apply-bt.en-arrow input { background: url(../img/apply-arrow.png) no-repeat 130px 16px;}
.apply-bt.en-arrow-submit input { background: url(../img/apply-arrow.png) no-repeat 150px 16px;}
.apply-bt img {display: none;}
.apply-bt span {}
.apply-bt a { font-size: 24px; color: #fff; display: flex; justify-content: center; align-items:center;}
.apply-bt:hover  {color:#ffffff; transition: 0.3s;}
.apply-bt:visited { font-size: 24px; color: #fff; display: flex; justify-content: center; align-items:center;}

.step-info-top-wrap { width: 100%; padding: 30px 0 60px;}
.step-info-top-wrap.teenager {}
.step-info-top-wrap.translate {}
.step-info-top {width: 1200px; margin: 0 auto; padding: 2rem 3rem; border-radius: 2rem; display: flex; justify-content: space-between; background: #ffffff; box-shadow: 0px 0px 12px #ddd; align-items: center;}
.step-info {}
.step .number {font-size: 26px;}
.step .number .on {color:#9b7b52;}
.step .number .off {color:#bdbdbd;}
.step-info-top-wrap.teenager .step .number .on {color:#3d9dee;}
.step-info-top-wrap.teenager .step .number .off {color:#bdbdbd;}
.step-info-top-wrap.translate .step .number .on {color:#3d9dee;}
.step-info-top-wrap.translate .step .number .off {color:#bdbdbd;}
.step .title {font-size: 40px; color: #000; height: 86px; display: flex; align-items: center;}
.step .title.center {justify-content: center;}
.step .title.translate {line-height: 48px; height: 130px;}
.step .line-wrap {display: flex; justify-content: flex-start;}
.step .line {margin-right: 4px; height: 3px; width: 65px; background: #bdbdbd; font-size: 0;}
.step .line.on {background: #9b7b52; margin-right: 4px;}
.step-info-top-wrap.teenager .step .line.on {background: #3d9dee;}
.step-info-top-wrap.teenager .step .line {background:#bdbdbd;}
.step-info-top-wrap.translate .step .line.on {background: #3d9dee;}
.step-info-top-wrap.translate .step .line {background:#bdbdbd;}
.step-info p {font-size: 14px; line-height: 32px; font-weight: 500; color:#fff;}
.step-info b {margin-right: 10px;}
.step-info .link-bt a:link, .step-info .link-bt a:link a:visited{ margin-left:8px; padding: 6px 6px 4px; color: #fff !important; background-color: #996867; border-radius: 6px; font-size:14px;}
.step-info-top-wrap.teenager .step-info .link-bt a:link, .step-info .link-bt a:link a:visited {background:#02644c;}
.step-info-top-wrap.translate .step-info .link-bt a:link, .step-info .link-bt a:link a:visited {background:#1569b1;}
.date-info {display: inline-flex; margin-top:20px; float: right; font-size: 18px; line-height: 32px; font-weight: 500; padding: 6px 20px; border-radius: 8px; background: #e4eef9; align-items: center; height: 50px; width:100%;}
.date-info .date {font-size: 20px; font-weight:600; /*margin-right: 6px;*/}
.date-info .time {font-size: 14px; font-weight:400; }

.step {display: block; }
.step ul li {font-size: 26px; color: #BDBDBD; display: inline-block; margin-right: 20px;}
.step ul li.on {color: #0040A0; font-weight: 600;}
.step .num {font-weight: 600; border-radius: 40px; width: 40px; height: 40px; text-align: center; vertical-align: middle; display: inline-block; box-shadow: 20px; background: #BDBDBD; line-height: 38px; margin-right: 10px; color: #fff;}
.step .num.on {color: #fff; background: #0040A0;}


.timer-wrap {margin: 30px 0 30px; line-height: normal; display: flex; flex-direction: column; gap: 10px;}
.timer-wrap .timer-title {font-size: 32px; font-weight: 700; text-align: center; color: #000;}
.timer-wrap .timer-box   {display: flex; justify-content: center; gap: 10px; line-height: normal;}
.timer-wrap .timer-box-item  {text-align: center; width: 106px;}
.timer-wrap .timer-box-item > div    {display: flex; font-size: 80px; font-weight: 700; color: #1268d5; text-align: center;}
.timer-wrap .timer-box-item > div span{display: inline-flex; align-items: center; justify-content: center; line-height: normal;}
.timer-wrap .line   {font-size: 60px; font-weight: 600; position: relative; top: 50px; color: #73aaef;}
.timer-wrap .desc   {color: #73aaef;}


/********** 신청서작성 가이드 **********/
.step-info-guide-wrap {background: #f4f4f4; }
.step-info-guide {width: 1200px; margin: 0 auto;  padding: 1rem 0rem; align-items: center;}
.step-info-guide .guide-info {margin-bottom: 20px;}
.step-info-guide .guide-info h3{font-size: 18px; margin-bottom: 10px;}
.step-info-guide .guide-info dl {font-size: 16px; line-height: 24px; display: flex; flex-direction: row; margin: 0px 10px 0px 20px;}
.step-info-guide .guide-info dl dt {display: inline-block; margin-right: 10px;}
.step-info-guide .guide-info dl dd {display: inline-block; font-size: 16px; line-height: 24px;}

/********** 세션만료 **********/
.session-time-wrap {background: #fff; position: sticky; top: 0; z-index: 1000; box-shadow: 0px 8px 30px #efefef;}
.session-time {width: 1200px; margin: 0 auto;  padding: 0.5rem 0rem; align-items: center; display: flex; justify-content: space-between;}
.session-time .line { align-items: center; display: flex; justify-content: space-between;}
.session-time .time { font-size: 18px; color:#ff431a; font-weight: 600; margin: 0 8px;}
.session-time .button {
  display: inline-block;
  padding: 8px 18px;
  background-color: #ff431a;
  color: #fff;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  user-select: none;
}
/* 마우스 오버 */
.session-time .button:hover {
  background-color: #e4310a;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
  transform: translateY(-1px);
}

/* 클릭(눌렀을 때) */
.session-time .button:active {
  background-color: #c52603;
  transform: translateY(1px);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

/* 키보드 포커스 접근성 */
.session-time .button:focus {
  outline: 2px solid #e6a091;
  outline-offset: 2px;
}

/* 모바일 */
/* =========================
   Responsive Patch (PC 1200 고정 유지 + 모바일만 반응형)
   ※ style.css 맨 아래에 추가
   ========================= */

/* 0) 기본 안전장치 */
html, body { max-width: 100%; }
img { max-width: 100%; height: auto; }

/* 1) PC(1201px 이상): 1200 고정 유지 (기존 그대로 사용)
   => 따로 수정 안 해도 됨 */

/* 2) 태블릿/모바일(1200px 이하): 고정폭 1200/900을 전부 100%로 */
@media (max-width: 1200px) {
  /* 페이지 공통 컨테이너들 */
  .content-wrap,
  .translate-button-wrap,
  .gnb-wrap,
  .content,
  .bottom-wrap,
  .session-time,
  #apply-content-back .content-wrap,
  .step-info-top,
  .step-info-guide {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 16px;
    padding-right: 16px;
    box-sizing: border-box;
  }

  /* apply 페이지 카드(900px 고정) */
  #apply-content-back .confirm-wrap {
    width: 100% !important;
    max-width: 100% !important;
    margin: 20px auto !important;
    padding: 20px !important;
    border-radius: 24px !important; /* 모바일에서 60px은 과함 */
    box-sizing: border-box;
  }

  /* gnb: 200px 고정 li 때문에 가로 스크롤 생기는 거 방지 */
  .gnb ul {
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px 12px;
  }
  .gnb ul li {
    width: auto !important;
    justify-content: flex-end;
  }

  /* 포스터: 모바일에서 세로 고정 724px은 UX 별로라 자동으로 */
  #main-poster img {
    height: auto !important;
    object-fit: contain !important;
  }

  /* 테이블이 길면 화면 넘칠 수 있어서 스크롤 컨테이너 제공 */
  .content-table {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

/* 3) 모바일(768px 이하): 글씨/버튼 크기만 조정 (기존 728 → 768로 통일) */
@media (max-width: 768px) {
  .gnb ul li a,
  .gnb ul li a:visited {
    font-size: 18px; /* 2.7rem 너무 커서 메뉴가 밀림 */
  }

  .translate-button-wrap .translate-button li {
    font-size: 14px;
    width: auto;
    padding-left: 0;
  }

  .timer-wrap .timer-title { font-size: 24px; }
  .content-box .title h3 { font-size: 20px; padding: 10px 16px; }
  .content-box .p .text { font-size: 16px; line-height: 26px; }

  .down { margin: 16px 0; font-size: 16px; }
  .content.main .link-bt a { font-size: 16px; }

  /* 버튼들이 옆으로 길어질 때 줄바꿈 */
  .down-button { display: inline-block; margin: 8px 0; }
}

/* 4) 그래도 특정 요소가 튀어나오면 마지막 안전장치(원인 숨김용)
   - 가능하면 원인을 잡는 게 정석이지만, 운영용 봉합에 유용 */
@media (max-width: 1200px) {
  body { overflow-x: hidden; }
}