.font24 {
  --fontsize: 2.4rem;
  font-size: var(--fontsize);
}
.font28 {
  --fontsize: 2.8rem;
  font-size: var(--fontsize);
}
.font45 {
  --fontsize: 4.5rem;
  font-size: var(--fontsize);
}
.font70 {
  --fontsize: 7rem;
  font-size: var(--fontsize);
}
.font80 {
  --fontsize: 8rem;
  font-size: var(--fontsize);
}
.font100 {
  --fontsize: 10rem;
  font-size: var(--fontsize);
}
@media (max-width: 1730px) {
  .w1690{
    padding: 0 20px;
  }
  header .headerBox {
    padding: 0 20px;
  }
  header nav {
    width: 50%;
  }
  header .auth {
    margin: 0 30px;
  }
  main .visual .svgBox {
    top: -20px;
  }
  .greeting p {
    font-size: 1.8rem;
  }
  .lab2 section .ctnBox .imgBox{
	justify-content:center; 
  }
}
@media (max-width: 1600px) {
  .font100 {
    font-size: calc(var(--fontsize) * 0.78);
  }
  .font80,
  .font70 {
    font-size: calc(var(--fontsize) * 0.84);
  }
  .font55{
	font-size: calc(var(--fontsize) * 0.9);
  }
  header nav .depth1 > li {
    max-width: 20%;
    padding: 0 25px;
  }
  header nav .depth1 > li > a {
    font-size: 1.6rem;
  }
  header nav .depth2 li a {
    font-size: 1.5rem;
  }
  header nav .depth2 li.stxt a > span.t {
    font-size: 1.4rem;
  }
  header .auth {
    gap: 0 20px;
  }
  header .menuOpen {
    margin: 0;
  }
  #sv {
    height: 680px;
  }
  .greeting p br {
    display: none;
  }
  .greeting .pBox p:first-child {
    padding: 0 30% 0 0;
  }
  .root_daum_roughmap_landing{
	width: 100% !important;
  }
  .lab section .ctnBox .slideBox .labswiper{
	width: 90%;
	margin: 0 auto;
  }
  .lab .swiper-button-next, .lab .swiper-container-rtl .swiper-button-prev{
	right:10px; 
  }
  .lab .swiper-button-prev,.lab .swiper-container-rtl .swiper-button-next{
	left: 10px;
   }
   .onshore .technology .ctnBox{ padding: 0 ;}
}
@media (max-width: 1500px) {
  .w1500 {
	padding:0 20px; 
  }
  .organization section .second_line{
	margin: 110px 0 0;
  }
  .organization section .second_line .itemBox .b_border:before{
	display:none; 
  }
  .organization section .third_line .itemBox.txt:before{
	display:block; 
	top: -60px;
	height: 60px;
  }
  .organization section .third_line .itemBox:before{
	top: -60px;
	height: 60px;
  }
  .organization section .third_line,.organization section .third_line .itemBox{
	position: relative;
  }
  .organization section .third_line1,.organization section .third_line2,.organization section .third_line3{
	right:auto; 
  }
  .education .program .itemBox img{
	width: 45%;
	margin-right: 50px;
  }
  .education .certification .ctnBox .itemBox .txtBox{
	left: 7%;
  }
  .join .content .ctnBox .itemBox4 input.type2{
    width: 100%;
  }
  .information .content .howto .ctnBox .itemBox .circleBox{
    width: 230px;
	height: 230px;
  }
  .information .content .howto .ctnBox{
    flex-wrap:wrap; 
  }
  .information .content .howto .ctnBox .itemBox.type2 .circleBox:before{
    width: 260px;
    height: 260px;
  }
  .information .content .howto .ctnBox .itemBox.type2 .circleBox:after{
    width: 200px;
    height: 200px;
  }
  .information .content .inquiries > div{
    max-width: max-content;
  }
  .onshore .structure .imgBox{
	overflow: hidden;
	border-radius:10px;
  }
  .onshore .structure .imgBox .img01{
	height: 450px;
  }
}
@media (max-width: 1400px) {
  .font100 {
    font-size: calc(var(--fontsize) * 0.7);
  }
  .font80,
  .font70 {
    font-size: calc(var(--fontsize) * 0.76);
  }  
  .font55{
	font-size: calc(var(--fontsize) * 0.82);
  }
  .font45 {
    font-size: calc(var(--fontsize) * 0.82);
  }
  header nav {
    display: none;
  }
  header .auth {
    margin: 0 40px 0 auto;
  }
  .allMenu .inner {
    padding: 0 0 60px;
    gap: 60px 0;
  }
  .allMenu .top {
    height: 90px;
    gap: 0 40px;
  }
  .allMenu .auth {
    gap: 0 20px;
  }
  .allMenu #snb {
    gap: 60px 0;
  }
  .allMenu #snb > li {
    gap: 30px 0;
    flex-wrap: wrap;
  }
  .allMenu #snb .depth2 {
    width: 100%;
    gap: 0 40px;
    padding: 0 35px;
  }
  .subPage {
    padding: 150px 0;
  }
  .subPage .contents {
    margin-top: 80px;
  }
  #top_menu ul{
	flex-wrap:wrap;
	gap:25px 0; 
  }
  #top_menu ul li:hover a:after{
	bottom: -10px;
  }
  .greeting .pBox p:first-child {
    padding: 0 36% 0 0;
  }
  .lab section > .txtBox{
	margin-top: 80px;
  }
  .education .program .itemBox .b_txt dl dd br{
    display:none; 
  }
  .education .program .itemBox .b_txt dl dt{
	flex-shrink:0;
  }
  .education .program{ 
	margin-bottom: 100px;
  }
  .education .operate{
	padding: 100px 0 120px;
  }
  .education .certification h4{
	margin: 100px 0 70px;
  }
  .education2 .link{
	padding: 100px 0 120px;
  }
  .education2 .link h4{
	margin-bottom: 100px;
  }
  .login h3{
	margin-bottom: 80px;
  }
  .login .content .join{
	padding: 70px 0 0;
  }
  .information > h3{
	margin-bottom: 100px;
  }
  .information .content .howto .individual{
    margin: 100px 0;
  }
  .information .content > div:not(:first-child){
    margin-top: 100px;
  }
  .information .content .benefits{
	padding: 100px 0;
  }
  .introduction .vision .ctnBox{ 
	gap:15px;
	}
  .introduction .vision .ctnBox .itemBox figure{
	width: 120px;
	height: 120px;
  }
  .introduction .vision .ctnBox .itemBox figure img{
	width: 40%;
  }
  .introduction .level{
	margin: 100px 0 120px;
	padding: 100px 0 120px;
  }
  .introduction .level .itemBox .txtBox{
	padding: 0 0 0 30px;
  }
  .introduction .effect h4{
	margin-bottom: 80px;
  }
  .onshore h3{
	margin-bottom: 100px;
  }
  .onshore .technology{
    margin: 100px 0;
	padding: 100px 0;
  }
  .signup h5{
	margin: 80px 0 20px;
  }
  .event div.yearmonth{
	margin: 80px 0 50px;
  }
  .books .infoBox{
	margin: 0 auto 100px;
  }

  .partner .listbox ul li { width:calc((100% - 60px) / 4); }
}
@media (max-width: 1200px) {
  html,
  body {
    font-size: 56.25%;
  }
  .font30,
  .font24,
  .font25,
  .font28 {
    font-size: calc(var(--fontsize) * 0.92);
  }
  .font19{
    font-size: calc(var(--fontsize) * 0.96);
  }
  .w1200{
	padding: 0 20px;
  }
  .allMenu #snb {
    gap: 40px 0;
  }
  .allMenu #snb > li {
    gap: 20px 0;
  }
  #sv {
    height: 540px;
  }
  #lnb {
    display: none;
  }
  .greeting .imgBox {
    max-width: 34%;
    top: 10%;
  }
  .greeting .imgBox .img {
    transform: translateX(0);
  }
  .location .contents .itemBox:first-child{
	margin-bottom: 100px;
  }
  .organization section .second_line .borderBox{
	width: 720px;
  }
  .organization section .second_line{
	gap:130px; 
  }
  .lab section .ctnBox .back{
	height: 800px;
  }
  .lab section .ctnBox .imgBox{
	gap:80px; 
  }
  .lab section .ctnBox .imgBox figure{
	width: 450px;
	height: 450px;
  }
  .lab section .ctnBox .slideBox .labswiper .swiper-slide{
	padding: 30px;
  }
  .lab section .ctnBox .slideBox .labswiper .swiper-slide:nth-child(4) .txtBox ul li:not(:last-child){
	margin-bottom: 0;
  }
  .education .operate .ctnBox{
	gap:20px; 
	flex-wrap:wrap; 
  }
  .education .operate .ctnBox .itemBox{
	width: calc((100% - 40px ) / 3);
  }
  .education2 .link .ctnBox{
    grid-template-columns: repeat(3, 1fr);
  }
  .join .content .ctnBox .itemBox{
	padding: 0 30px;
  }
  .join .content .ctnBox .itemBox input.type2, .join .content .ctnBox .itemBox5 select{
	width: 300px;
  }
  .join .content .ctnBox .itemBox > p:first-child ,.join .content .ctnBox .itemBox4 > div:first-child p{
	width: 120px;
  }
  .join .content .ctnBox .itemBox input:not(.type2, .type3), .join .content .ctnBox .itemBox1 select{
	width: calc(100% - 120px);
  }
  .join .content .ctnBox .itemBox4 > div:not(:first-child) p{
	margin: 0 10px 0 20px;
  }
  #tab_menu li button{
    width: 280px;
	height: 60px;
	line-height: 60px;
  }
  .introduction .vision .ctnBox figure.imgBox{
	width: 30%;
	margin: 40px;
  }
  .introduction .level .itemBox .txtBox{
	padding: 0 80px 0 30px;
	height: 180px;
  }
  .introduction .level .itemBox .txtBox li{
	text-indent:-10px;
	margin-left: 10px;
	line-height: 1.5;
  }

	/* 230808 추가 회원가입 유지보수 */
  .information .content .howto .individual .ctnBox > div p.txt{
	line-height: 1.4em;
	display:flex;
	justify-content:center;
	align-items:center;
  }
  .information .content .howto .individual .ctnBox > div p.txt br{
	display:block; 
  }
  .information .content .howto .individual .ctnBox > div p.txt span{
	display:none; 
  }
	/* 230808 추가 회원가입 유지보수 */
  .onshore .technology .ctnBox .itemBox{
	padding: 60px 0 0 100px;
  }
  .onshore .technology .ctnBox .itemBox:first-child,.onshore .technology .ctnBox .itemBox:nth-child(2){
    padding: 18px 0 0 100px;
  }
}
@media (max-width: 960px) {
  .font100 {
    font-size: calc(var(--fontsize) * 0.5);
  }
  .font80,
  .font70 {
    font-size: calc(var(--fontsize) * 0.56);
  }
   .font55{
	font-size: calc(var(--fontsize) * 0.7);
  }
  .font45 {
    font-size: calc(var(--fontsize) * 0.62);
  }
  .allMenu .inner {
    gap: 0;
  }
  .allMenu .flexBox {
    flex-direction: column;
  }
  .allMenu .text {
    width: 100%;
    height: auto;
    order: 2;
    margin: auto 0 0;
  }
  .allMenu h2 {
    display: none;
  }
  .allMenu #snb {
    width: 100%;
  }
  .allMenu #snb > li > a {
    width: calc(100% - 35px);
    font-size: 3.6rem;
  }
  .allMenu .logo{
	top:auto;
	bottom:45px; 
	left: 20px;
  }
  .greeting h4 {
    margin: 20px 0 40px;
  }
  .greeting .imgBox .point {
    max-width: 30%;
    top: 0;
  }
  #top_menu ul{
	padding: 0 20px;	
  }
  #top_menu ul li:not(:last-child):after{
	margin: 0 10px;
  }
  .location .contents .itemBox:first-child{
	margin-bottom: 70px;
  }
  .organization section .b_border{
	width: 180px;
  }
  .organization section .first_line{
	gap:200px; 
  }
  .organization section .second_line{
	gap:30px; 
  }
  .organization section .first_line .rightBox .borderBox:before {
    left: -76px;
    width: 105px;
   }
  .organization section .first_line .leftBox .borderBox:before{
	right: -76px;
	width: 80px;
   }
  .organization section .second_line .borderBox{
	width: 520px;
  }
   .organization section .second_line .itemBox{
    display: flex;
    flex-direction: column;
    align-items: center;
   }
  .lab section .ctnBox .back{
	height: 920px;
  }
  .lab section > .txtBox{
	margin-top: 50px;
  }
  .lab section .ctnBox{
	margin-top: 50px;
	padding: 50px 0 0;
  }
   .lab section .ctnBox .imgBox figure{
	width: 350px;
	height: 350px;
   }
  .lab section .ctnBox .imgBox{
	flex-direction:column;
  }
  .lab section .ctnBox .slideBox .labswiper .swiper-slide .txtBox ul li br{
	display:none; 
  }
  .education .program .itemBox{
	flex-direction:column;
	gap:50px; 
  }
  .education .program .itemBox img{
	margin: 0;
	width: 70%;
  }
  .education .program .itemBox .b_title{
	text-align: center;
  }
  .education .program .itemBox .b_txt dl dd br{
	display:block; 
  }
  .education .program{ 
	margin-bottom: 80px;
  }
  .education .operate{
	padding: 80px 0 100px;
  }
  .education .certification .ctnBox .itemBox .txtBox{
	bottom: 30px;
  }
  .education .certification h4{
	margin: 80px 0 50px;
  }
  .education2 .link .ctnBox .itemBox:not(.box-wrap .itemBox),.education2 .link .ctnBox .box-wrap .itemBox{
	padding: 40px 10px;
  }
  .education2 .link .ctnBox .itemBox .txt br{
    display:none; 
  }
  .education2 .link{
	padding: 80px 0 100px;
  }
  .education2 .link h4{
	margin-bottom: 50px;
  }
  .login h3{
	margin-bottom: 50px;
  }
  .login .content .inputBox button{
	margin-top: 40px;
  }
  .login .content .join{
	padding: 40px 0 0;
  }
  .join .content .ctnBox .itemBox{
	height: auto;
	padding: 12px 20px;
  }
  .join .content .ctnBox .itemBox input[type=text], .join .content .ctnBox .itemBox select{
	height: 50px;
  }
  .join .content .ctnBox .itemBox input:not(.type2, .type3), .join .content .ctnBox .itemBox1 select{
	padding: 0 0 0 20px;
  }
  .join .content .agreeBox1 div{
    width: 90px;
  }
  .join .content .ctnBox .itemBox3{
	flex-wrap:wrap; 
	gap:12px  0;
  }
  .join .content .ctnBox .itemBox3 p{
	width: 120px;
  }
   .join .content .ctnBox .itemBox3 .inputBox{
    width: calc((100% - 120px));
   }
  .join .content .ctnBox .itemBox3 input.type2{
	width: 100%;
   }
  .join .content .ctnBox .itemBox3 p:nth-of-type(2){
	margin: 0;
  }
  .join .content .ctnBox .itemBox4{
	flex-direction:column;
    align-items: flex-start;
  }
  .join .content .ctnBox .itemBox4 > div:not(:first-child) p{
	margin: 0;
	width: 120px;
  }
  .join .content .ctnBox .itemBox4 > div{
	width: 100%;
  }
  .join .content .ctnBox .itemBox4 input{
	width: calc(100% - 120px);
  }
  .join .content .ctnBox .itemBox4 > div:not(:last-child) input{
	margin-bottom: 12px;
  }
  .join .content .ctnBox .itemBox input.type3{
	width: 100%;
	padding:  0 0 0 15px;
  }
  .join .content .finishBox{
	margin-top: 80px;
  }
  .information .content  .howto .individual{
    margin: 80px 0 60px;
  }
  .information .content > div:not(:first-child){
    margin-top: 80px;
  }
  .information .content .benefits{
	padding: 80px 0;
  }
  .information .content .benefits .ctnBox{
    flex-wrap:wrap;
	gap:20px
  }
  .information .content .benefits .ctnBox .itemBox{
    width: calc((100% - 20px) / 2);
	padding: 40px 10px;
  }
  .information .content .benefits .ctnBox .itemBox .circleBox{
	width: 100px;
	height: 100px;
  }
  .information .content .benefits .ctnBox .itemBox .circleBox img{
	width: 40px;
  }
  .information .content .benefits .ctnBox .itemBox p{
    margin-top: 30px;
	line-height: 1.5;
  }
  .information .content .howto .ctnBox{
    gap:50px
  }
  .information .content .howto h4{
	margin-bottom: 70px;
  }
  .introduction .vision .ctnBox{
    gap:10px 40px; 
  }
  .introduction .vision .ctnBox .itemBox2{
	order:1;
    flex-direction: row-reverse;
	text-align: left;		
  }
  .introduction .vision .ctnBox figure.imgBox{
    width: 100%;
	margin: 40px 0;
	display:flex;
	justify-content:center; 
  }
  .introduction .vision .ctnBox figure.imgBox .img02{
    width: 40%;
  }
  .introduction .level{
	margin: 80px 0;
	padding: 80px 0;
  }
  .introduction .effect h4,.introduction .level h4{
	margin-bottom: 60px;
  }
  .introduction .effect .ctnBox .itemBox .txtBox .font17{
	padding: 0 10px;
  }
  .onshore .structure .imgBox .img01{
	height: 350px;
  }
  .onshore .structure .imgBox .img02{
	width: 85%;
  }
  .onshore h3{
	margin-bottom: 60px;
  }
  .onshore .technology{
    margin: 80px 0;
	padding: 80px 0;
  }
  .onshore .technology .ctnBox{
	margin-top: 60px;
  }
  .onshore .structure .ctnBox .itemBox{
    padding: 25px;
	height: 340px;
  }
  .onshore .structure .ctnBox .itemBox ul li br{
    display:none; 
  }
  .onshore .structure .imgBox{
	margin: 40px 0;
  }
  .onshore .assignment .imgBox{
	margin-top: 60px;
  }
  .onshore .technology .ctnBox .itemBox{
	padding: 60px 20px 0 60px;
  }
  .onshore .technology .ctnBox .itemBox:first-child,.onshore .technology .ctnBox .itemBox:nth-child(2){
	padding: 20px 20px 0 60px;
  }
  .onshore .technology .ctnBox .itemBox ul li br{
    display:none; 
  }
  .onshore .technology .ctnBox .itemBox:nth-child(4) li:first-child{
    white-space: normal; 
  }
  .onshore .assignment .imgBox .txtBox{
    margin: 0 0 0 50px;
  }
  .onshore2 .technology .ctnBox .itemBox{
	height: 400px;
  }
  .books .infoBox{
	margin: 0 auto 80px;
	width: 90%;
  }
  .signup h5{
	margin: 60px 0 20px;
  }
  .event .calendar .week_list li{
	height: 55px;
  }
  .event .calendar .weekBox .week{
	flex-direction:column;
  }
  .event .calendar .weekBox .week > li{
	width: 100%;
	height: auto;
	display:flex;
    align-items: center;
	gap:70px; 
	padding: 20px 15px;
  }
  .event .calendar .weekBox .week > li .scroll{
	height: auto;
  }
  .event .calendar .weekBox .week > li .schedule{
	margin-top: 0;
  }
  .event .calendar .weekBox .week > li p.num{
  	display:flex;
	justify-content:center;
	align-items:center;
  	width: 30px;
	height: 30px;
	position: relative;
  }
  .event .calendar .weekBox .week > li:first-child,.event .calendar .weekBox .week > li:last-child{
	padding: 20px 15px;
  }
  .event .calendar .weekBox .week > li:first-child p.num{
	width: 30px;
	height: 30px;
	background: #f29600;
	border-radius:50%;
	display:flex;
	justify-content:center;
	align-items:center;
	color:#fff;
	font-weight: 500;
  }
  .event .calendar .weekBox .week > li:last-child p.num{
	width: 30px;
	height: 30px;
	background: #6E6E6E;
	border-radius:50%;
	display:flex;
	justify-content:center;
	align-items:center;
	color:#fff;
	font-weight: 500;
  }
   .event .calendar .weekBox .week > li p.num:after{
	display:block;
	position: absolute;
	transform:translateY(-50%);
	top: 50%;
	color:#333;
	font-size:13px;
	left: 40px;
   }
   .event .calendar .weekBox .week > li:first-child p.num:after{
	content:"(일)";
	left: 40px;
   }
   .event .calendar .weekBox .week > li:nth-child(2) p.num:after{
	content:"(월)";
   }
   .event .calendar .weekBox .week > li:nth-child(3) p.num:after{
	content:"(화)";
   }
   .event .calendar .weekBox .week > li:nth-child(4) p.num:after{
	content:"(수)";
   }
   .event .calendar .weekBox .week > li:nth-child(5) p.num:after{
	content:"(목)";
   }
   .event .calendar .weekBox .week > li:nth-child(6) p.num:after{
	content:"(금)";
   }
   .event .calendar .weekBox .week > li:nth-child(7) p.num:after{
	content:"(토)";
	left: 40px;
   }
  .event .calendar .weekBox .week > li .txtBox{
	left: 70%;
    top: 50%;
    bottom: auto;
    transform: translate(-50%, -50%);
  }
  .event .calendar .weekBox .week > li .txtBox:after{
	border-right: 22px solid #fff;
    border-top: 12px solid transparent;
    border-bottom: 12px solid transparent;
    transform: translateY(-50%);
	bottom: auto;
    top: 50%;
    left: -34px;
	z-index: 11;
  }

  footer { padding-bottom:100px; }
  .quickMenu { position: fixed; width:100%; bottom:0; left:0; top:unset; right:unset; transform:translateY(0); padding:10px 10px; border:none !important; border-radius:7px 7px 0 0; background:#0f2c48; }
  .quickMenu ul { display:flex; align-items:center; justify-content:center;  }
  .quickMenu li { position: relative; width:25%; }
  .quickMenu li:not(:last-child):before { content:''; display:block; position:absolute; right:0; top:50%; transform:translateY(-50%); width:1px; height:12px; background:#fff; }
  .quickMenu li a { display:flex; align-items:center; justify-content:center; flex-direction:row; padding:3px 0; flex-direction:row; filter:none; width:100%; height:100%; background:#0f2c48 !important; }
  .quickMenu li:not(:last-child) { transition:all 0.3s; margin:0 5px 0; padding:0 5px 0; border-bottom:none !important; }
  .quickMenu li .txt { margin-top:0; margin-left:10px; color:#fff !important; font-size:15px; }
  .quickMenu li .icon { transition:all 0.3s; filter:brightness(0) invert(1) !important; }
  
  .partner .listbox ul li { width:calc((100% - 40px) / 3); }
}
@media (max-width: 768px) {
  .font100 {
    font-size: calc(var(--fontsize) * 0.4);
  }
  .font80,
  .font70 {
    font-size: calc(var(--fontsize) * 0.46);
  }
  .font55{
    font-size: calc(var(--fontsize) * 0.54);
  }
  header {
    height: 70px;
  }
  header h1 {
    width: 180px;
    height: 33px;
  }
  .allMenu .top {
    height: 70px;
  }
  main .visual .svgBox {
    width: 62px;
    height: 62px;
  }
  main .visual .svgBox circle {
    r: 30;
    cx: 31;
    cy: 31;
  }
/*  main .bottom ul {*/
/*    width: auto;*/
/*  }*/
/*  main .bottom ul li {*/
/*    padding: 0 20px;*/
/*  }*/
/*  main .bottom .swiper-slide {*/
/*    justify-content: center;*/
/*  }*/
/*  main .bottom img {*/
/*    max-width: 80%;*/
/*  }*/
  #sv {
    height: 400px;
  }
  #sv .subVisual {
    padding: 0;
  }
  .subPage {
    padding: 70px 0;
  }
  .subPage .contents {
    margin-top: 50px;
  }
  .greeting p {
    font-size: 1.7rem;
  }
  .greeting p br {
    display: none;
  }
  .greeting .imgBox {
    top: 14%;
  }
  footer .logo {
    width: 180px;
  }
  .privacy > dl > dt{
	font-size: 1.8rem;
  }
  .privacy > dl > dd,.privacy > dl > dd ul li{
	font-size:1.7rem;
  }
  .location .contents .itemBox p{ line-height: 1.6;}
  .organization section .circleBox{
	width: 180px;
	height: 180px;
  }
  .organization section .circleBox p.font30{
	font-size:21px; 
  }
  .organization section .circleBox .back{
	width: 230px;
	height: 230px;
  }
  .organization section .b_border{
	font-size:17px; 
	width: 140px;
	height: 55px;
  }
  .organization section .first_line{
	gap:80px;
	margin-top: 50px;
  }
  .organization section .first_line .leftBox .borderBox{
	height: 65px;
  }
  .organization section .first_line .leftBox .borderBox:before {
	right: -17px;
	width: 20px;
   }
  .organization section .first_line .rightBox .borderBox{
	height: 130px;
  }
  .organization section .first_line .rightBox .borderBox:before{
	left: -17px;
    width: 40px;
  }
  .organization section .second_line{
	margin: 80px 0 0;
    flex-direction: column;
	gap:60px; 
  }
  .organization section .second_line .borderBox{
	display:none; 
  }
  .organization section .second_line .itemBox:not(.itemBox1) .b_border:after{
	display:none; 
  }
  .organization section .third_line{
	margin-top: 30px;
	width: 70%;
  }
  .organization section .third_line .itemBox{
	width: 100% !important;
  }
  .organization section .third_line .itemBox.linkBox li{
	text-align: center;
    margin-left: -10px;
  }
  .organization section .second_line .itemBox .b_border{
	width: 50%;
  }
  .organization section .third_line .itemBox:after,.organization section .third_line .itemBox:before,.organization section .third_line .itemBox.txt:before{
	display:none; 
  }
  .organization section .third_line .itemBox.logoBox li{
	width: 100%;
  }
  .organization section .third_line .itemBox.logoBox li img.logo{	
	width: auto;
  }
  .lab section .ctnBox .back{
	height: 780px;
  }
  .lab section .ctnBox .imgBox{
	gap:50px; 
  }
  .lab section .ctnBox .imgBox figure{
	width: 250px;
	height: 250px;
  }
  .lab section .ctnBox .slideBox .lab_arrows{
	position: absolute;
	right:11%; 
	top: -20px;
  }
  .lab .swiper-button-next, .lab .swiper-container-rtl .swiper-button-prev{
	left: 0;
    right: auto;
  }
  .lab .swiper-button-prev, .lab .swiper-container-rtl .swiper-button-next{
	left: auto;
    right: 0;
  }
  .education .operate .ctnBox .itemBox .circleBox,.education2 .link .ctnBox .itemBox .circleBox{
	width: 70px;
	height: 70px;
  }
  .education .operate .ctnBox .itemBox .circleBox img,.education2 .link .ctnBox .itemBox .circleBox img{
	width: 50%;
  }
  .education .operate .ctnBox .itemBox{
	width: calc((100% - 20px ) / 2);
	padding: 30px 0 0 ;
	height: 370px;
  }
  .education .operate .ctnBox .itemBox p{
	margin: 20px 0 10px;
  }
  .education .certification .ctnBox {
	flex-direction:column; 
  }
  .education .certification .ctnBox .itemBox .txtBox{
  	bottom: 50px;
  }
  .login .content .inputBox input{
	height: 55px;
  }
  .join .content .ctnBox .itemBox{
	padding: 12px 0;
  }
  .join .content .ctnBox .itemBox select{
	padding: 0 0 0 15px;
  }
  .join .content .ctnBox .itemBox2 button{
	height: 45px;
  }
  .join .content .ctnBox .itemBox5{
	flex-wrap:wrap; 
  }
  .join .content .ctnBox .itemBox5 select{
	margin: 12px 0 0 0;
	width: calc(100% - 250px);
  }
  .join .content .ctnBox .itemBox5 input:first-of-type.type2{
	width: calc(100% - 150px);
  }
  .join .content .ctnBox .itemBox5 input:last-of-type.type2{
	width: 120px;
	margin: 12px 10px 0 120px;
  }
  .join .content .ctnBox .itemBox5 p:not(:first-child){
    width: 30px;
    text-align: center;
	margin: 0;
  }
  .join .content .ctnBox .itemBox8{
    flex-wrap:wrap; 
	gap:12px 0
  }
  .join .content .ctnBox .itemBox8 p{
	height: 45px;
    line-height: 45px;
  }
  .join .content .ctnBox .itemBox8 input{
	width: 100%;
	margin-left: 120px;
  }
  .join .content .ctnBox .itemBox9 select{
    width: 50%;
  }
  .join .content .ctnBox .itemBox9 input.type2{
	width: 40%;
  }
  .join .content .ctnBox .itemBox1 select, .join .content .ctnBox .itemBox9 select {
    background: url(/img/sub/join_arrow.png) no-repeat 93%;
  }
  .join .content .agreeBox1 div{
	width: 60px;
  }
  .join .content .ctnBox .itemBox input[type=text],.join .content .ctnBox .itemBox input[type=password], .join .content .ctnBox .itemBox select{
	height: 45px;
  }
  .join .content .ctnBox .itemBox input::placeholder{
    font-size:15px; 
  }
  .information .content .individual .ctnBox > div p.title{
    height: 55px;
	line-height: 55px;
  }
  .information .content .individual .ctnBox > div p.txt{
	height: 100px;
	line-height: 100px;
  }
  .information .content .benefits .ctnBox{
    margin-top: 50px;
  }
  .information .content .howto .ctnBox{
    flex-wrap:wrap; 
    gap:40px;
  }
  .information .content .howto .ctnBox > figure{
    margin: 0;
  }
  .information .content .howto .ctnBox > figure img{
    transform:rotate(90deg); 
  }
  .information .content .howto h4{
	margin-bottom: 50px;
  }
  .information .content .howto .ctnBox .itemBox{
    width: 100%;
  }
  .information .content .howto .ctnBox .itemBox .circleBox{
    width: 180px;
	height: 180px;
  }
  .information .content .howto .ctnBox .itemBox.type2 .circleBox:before{
    width: 210px;
    height: 210px;
  }
  .information .content .howto .ctnBox .itemBox.type2 .circleBox:after{
    width: 150px;
    height: 150px;
  }
  .information .content .inquiries > div{
	flex-direction:column;
	gap:15px;
	max-width:none;
	width: 80%;
	height: 120px;
  }
  .information .content .inquiries > div p.bold{
    margin: 0;
  }
  .information .content .inquiries > div .txt{
    text-align: center;
	line-height: 1.5;
  }
  .information .content .last-btn{
    width: 150px;
	height: 50px;
  }
  #tab_menu li button{
    width: 150px;
	height: 50px;
	line-height: 50px;
  }
  .introduction .vision .ctnBox{
	justify-content: center;
    align-items: center;
	gap:20px 0;
  }
  .introduction .vision .ctnBox .itemBox:not(.itemBox1),.introduction .vision .ctnBox .itemBox1{
    display:flex; 
	gap:20px;
	flex-direction: column;
	align-items: center;
	text-align: center;
	margin-bottom: 0;
	width: 50%;
  }
  .introduction .vision .ctnBox .itemBox figure{
   width: 100px;
   height: 100px;
  }
  .introduction .vision .ctnBox figure.imgBox{
	order:-1;
  }
  .introduction .vision .ctnBox .itemBox figure{
	order:-1;
  }
   .introduction .vision .ctnBox .itemBox1{
		width: 100%;
	}
  .introduction .level .ctnBox{
	flex-direction: column;
	gap:40px;
  }
  .introduction .level .itemBox{
	width: 100%;
  }
  .introduction .level .itemBox:not(:first-child){
	margin: 0;
  }
  .introduction .level .itemBox .txtBox{
	padding: 30px;
	height: auto;
  }
  .introduction .level .itemBox:not(.itemBox1) .txtBox:after{
	display:none; 
  }
  .introduction .level .itemBox1{
	margin: 0;
  }
  .introduction .effect .ctnBox{
	flex-wrap:wrap;
  }
  .introduction .effect .ctnBox .itemBox{
	width: calc((100% - 20px) / 2);
  }
  .introduction .effect .ctnBox figure img{
	width: 100%;
  }
  .introduction .effect .ctnBox .itemBox .txtBox .font17 br{
	display:none; 
  }
  .agree-box-msg{
	width: 130px;
  }
  .agree-box .btn-group{
	text-align: center;
  }
  .mypage #tab_menu{
	margin-top: 50px;
  }
}
@media (max-width: 640px) {
  .font100 {
    font-size: calc(var(--fontsize) * 0.34);
  }
  .font80,
  .font70 {
    font-size: calc(var(--fontsize) * 0.4);
  }
  .font55{
	font-size: calc(var(--fontsize) * 0.42);
  }
  .font45 {
    font-size: calc(var(--fontsize) * 0.48);
  }
  .font30,
  .font24,
  .font25,
  .font28,
  .font40{
    font-size: calc(var(--fontsize) * 0.7);
  }  
  .font20{ font-size: calc(var(--fontsize) * 0.8) }
  .font19{ font-size:17px;}
  .font18{ font-size:16px;}
  .font17{ font-size:15px; }
  header h1 {
    width: 160px;
    height: 30px;
  }
  header .auth {
    margin: 0 20px 0 auto;
  }
  .allMenu #snb {
    gap: 30px 0;
	margin-top: 30px;
  }
  .allMenu #snb > li {
    gap: 15px 0;
  }
  .allMenu #snb > li span {
    width: 25px;
  }
  .allMenu #snb > li > a {
    font-size: 3rem;
  }
  .allMenu #snb .depth2 {
    gap: 0 25px;
    padding: 0 25px;
  }
  .allMenu #snb .depth2 li a {
    font-size: 1.6rem;
  }
  .allMenu .top{
	gap: 0 20px;
  } 
  .allMenu .logo{
	width: 200px;
  }
  main .visual .title {
    gap: 20px 0;
  }
  main .visual .title p {
    font-size: 2rem;
  }
  .greeting .itemBox {
    display: flex;
    flex-direction: column;
    gap: 40px 0;
  }
  .greeting .textBox {
    order: 2;
  }
  .greeting .textBox br {
    display: none;
  }
  .greeting .pBox {
    gap: 25px 0;
  }
  .greeting .pBox p:first-child {
    padding: 0;
  }
  .greeting dl {
    margin: 30px 0 0;
  }
  .greeting .imgBox {
    width: 100%;
    max-width: 320px;
    order: 1;
    margin: 0 auto;
    position: relative;
    top: auto;
    right: auto;
  }
  .lab section > .txtBox p br{
	display:none; 
  }
  .education .program .itemBox img{
	width: 80%;
  }
  .education .program .itemBox .b_title{
	margin-bottom: 30px;
  }
  .education .program .itemBox .b_txt dl dd br{
	display:none; 
  }
  .education2 .link .ctnBox {
    grid-template-columns: repeat(2, 1fr);
  }
  .organization section .third_line .itemBox.txt a{
    font-size:15px; 
  }
  .login .content .inputBox input{
	font-size:15px; 
  }
  .join .content .ctnBox .itemBox input, .join .content .ctnBox .itemBox input::placeholder,.join .content .ctnBox .itemBox input[type=password], .join .content .ctnBox .itemBox select{
	font-size:15px; 
  }
  .join .content .agreeBox{
	font-size:14px; 
	flex-wrap:wrap;
	gap:15px 0 ;
  }
  .join .content .agreeBox2 div:not(:last-child){
	margin-right: 20px;
  }
  .join .content .finishBox{
	margin-top: 50px;
  }
  .join .content .finishBox button{
	width: 150px;
	height: 50px;
  }
  .information > h3{
	margin-bottom: 80px;
  }
  .introduction .vision .ctnBox figure.imgBox .img02{
	width: 70%;
  }
  .introduction .effect .ctnBox .itemBox .txtBox .plus{
	width: 50px;
	height: 50px;
	font-size:30px;
	line-height: 45px;
  }
  #top_menu ul{
	padding: 0;
  }
  #top_menu ul li:not(:first-child):before{
	margin: 0 10px;
  }
  #top_menu ul li:hover a:after, #top_menu ul li.on a:after{
	bottom: -7px;
  }
  .lab2 section .lab_arrows > div{
	top: 100%;
  }
  .lab2 section .lab_arrows .swiper-button-prev{
	right: 11%;
	left: auto;
  }
  .lab2 section .lab_arrows .swiper-button-next{
	right: 5%;
	left: auto;
  }
  .onshore .structure .imgBox .img01{
	height: 200px;
  }
  .onshore .structure .imgBox .img02{
	width: 98%;
	top: 50%;
	left: 50%;
  }
  .onshore .structure .ctnBox{
	flex-wrap:wrap; 
  }
  .onshore .technology .ctnBox:after{
	display:none;
  }
  .onshore .structure .ctnBox .itemBox{
	width: 100%;
	height: 250px;
  }
  .onshore .structure .ctnBox .itemBox .num{
	margin-bottom: 10px;
  }
  .onshore .structure .ctnBox .itemBox .title{
	margin-bottom: 15px;
  }
  .onshore .technology .ctnBox .itemBox{
	padding: 30px !important;
	height: auto;
	width: 100%;
	position: relative;
	background: #fff;
  }
  .onshore .technology .ctnBox .itemBox:after{
	content:'';
	position: absolute;
    top: 0;
    right: 0;
  }
  .onshore .technology .ctnBox .itemBox:first-child:after{
    border-bottom: 55px solid transparent;
    border-right: 75px solid #f27800;
  }
  .onshore .technology .ctnBox .itemBox:nth-child(2):after{
    border-bottom: 55px solid transparent;
    border-right: 75px solid #f29600;  
  }
  .onshore .technology .ctnBox .itemBox:nth-child(3):after{
    border-bottom: 55px solid transparent;
    border-right: 75px solid #ffd635;
  }
  .onshore .technology .ctnBox .itemBox:last-child:after{
    border-bottom: 55px solid transparent;
    border-right: 75px solid #ffc000;  
  }
  .onshore .technology .ctnBox .itemBox:not(:last-child){
	margin-bottom: 30px;
  }
  .onshore .assignment .imgBox .txtBox{
    margin: 0;
	padding: 0 20px;
  }
  .onshore .assignment .imgBox .txtBox .itemBox:not(:last-child){
	margin-bottom: 40px;
  }
  .onshore1 .structure .imgBox .img02{
    width: 95%;
	top: 53%;
  }
  .onshore .structure .ctnBox figure.lastBox{
    display:none; 
  }
  .onshore .technology .ctnBox .itemBox ul li{
    word-break: keep-all;
  }
  footer {
    padding: 60px 0;
    padding-bottom:80px;
  }
  footer .footerBox {
    flex-direction: column;
    position: relative;
  }
  footer .info {
    padding: 0 0 40px;
  }
  footer .bottom {
    width: 100%;
    justify-content: space-between;
    position: absolute;
    left: 0;
    bottom: 0;
  }

  .partner .listbox ul { gap:10px; }
  .partner .listbox ul li { width:calc((100% - 10px) / 2); }
  .partner .listbox ul li a { height:110px; }
}

@media (max-width: 550px) {
	/* header */
	header .auth{ gap: 0 15px; margin-right: 15px; }

    .ntb-list.lst-body li .td.col_hit input { margin-top:-5px; }
}

@media (max-width: 499px){
	/* header */
	header h1{ width: 137px; height: 25px; }
	header .auth{ gap: 0 10px; margin-right: 5px; }

	.allMenu #snb .depth2{ gap: 0 18px; }
}