/* 타이틀영역 */
div#wtitle{
}
div#title{
  max-width:1440px;
  height:600px;
  opacity: 0.9;
  margin: 0 auto;
}
div#title>div{
  height: 100%;
  background-position:center;
}
div#title>div>div{
  height: 100%;
}
div#title article{
  padding-top: 50px;
  padding-left: 50px;
  box-sizing: border-box;
  padding-right: 100px;
  padding-bottom: 0px;
  background-repeat: no-repeat;
  background-position-x: right;
  background-position-y: bottom;
  background-origin: content-box;
  border-radius:20px;
  background-size:400px auto;
}

div#title article.title1{
  background-color: #F0DDDD;
  background-image: url(../img/book1.png);
}
div#title article.title2{
  background-image: url(../img/book2.png);
  background-color: #F2F1E9;
}
div#title article.title3{
  background-image: url(../img/book3.png);
  background-color: #E4E4F7;
}
div#title article.title4{
  background-image: url(../img/book4.png);
  background-color: #E0EBD8;
}
div#title h2{
  color: #000;
  letter-spacing: 1;
  word-spacing: 1;
}
div#title p{
  font-size: 20px;
  color: #222;
  font-weight: 450;
  margin-top: 30px;  
  line-height: 1.5;
}
div#title ul{
  font-size: 16px;
  color: #999;  
}
div#title ul li{

}
div#title ul li:first-child {
  font-weight: 400;
  margin-top: 30px;
  padding-bottom: 10px;
}
div#title ul li:nth-child(2){
  font-weight: 400;
  padding-bottom: 8px;
}

div#title a{
  font-size: 22px;
  color: #fff;
  font-weight: 400;
  display: block;
  margin-top: 50px; 
  margin-left: 30%;
  width: 150px;
  background-color: #507009;
  text-align: center;
  border-radius: 12px;
  height: 60px;
  align-content: center;
  } 
div#title a:hover{
  content: "";
  font-weight: 500;
  display: block;
  background-color: #ffd90d;
  color: #000;
}
div#title .slick-dots{
  bottom:25px;
}
div#title button{
  opacity: 0.5;
}
div#title button.slick-next{
  right: -10px;
  width: 60px;
  height: 60px;
}
div#title button.slick-prev{
 z-index: 1;
 left: 10px;
  width: 60px;
  height: 60px;
}
div#title .slick-next:before{
  content: "";
  position: absolute;
  z-index: 1;
  right:25px;
  background-image: url(../img/arrow1.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size:contain;
  width: 60px;
  height: 60px;
}
div#title .slick-prev:before{
  content: "";
  background-image: url(../img/arrow.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size:contain;
  position: absolute;
  width: 60px;
  height: 60px;
}

div#title .slick-prev{
 z-index: 1;
 left: 25px;
}
div#title .slick-dots li button:before{
  font-size: 15px;
  color:white;
  opacity: 1;
  text-shdow: 0 0 12px #777;
  transition: 0.5s;
}
  div#title .slick-dots li.slick-active button:before{
   font-size: 22px;
   color: gold;
}
main {
  width: 100%;
}

section{
  margin: 0 auto;
  position: relative;
  width: 1440px;
}
section::before{
  position: absolute;
  left: 0;
  top: 70px;
  font-size: 50px;
  word-spacing: 20px;
  text-transform: uppercase;
  opacity: 0.2;
  font-weight: bold;
  text-align:left;
  margin-left:20px;
}
#kdto-board::before{
  content: "KDTO-NEWS";
}
#business::before{
  content: "business";
    
}
#portfolio::before{
  content: "program";
    
}
#process::before{
  content: "kdto news";
}
#kdto-sns::before{
  content: "kdto-sns";
}
#contact::before{
  content: "contact";
}
section#business{
  min-height: 700px;
}
section#business div.wrap {
padding-top: 120px;
  min-width:700px;
}
section#business div.wrap div {
padding-top:70px;
}
section#business div.wrap h1{
  font-size: 90px;
  font-weight: 800;
  margin-left: 50px;
  margin-bottom: 10px;
  color: #005083;
  letter-spacing: -1px;
  margin-top:0 ;
}
section#business div.wrap p {
  margin-bottom:20px;
 font-size: 22px;
  margin-left: 70px;
}

section#business div.wrap div ul.givani{
/*  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 130px 8%;
  justify-items: center; */
  padding-left: 60px;
  padding-bottom: 20px;
}


section#business div.wrap div ul.givani li a{
  content:"";
  width: calc((1200px/ 3) - 30px);
  height: calc((760px/ 2) - 30px);
  box-sizing: border-box;
  border-radius: 27px;  
  transition: 1s;
  display: grid; 
  grid-template-columns: 90% auto;
  grid-template-rows: auto auto auto; 
  gap: 10px;
  background-color: #e2d0b4;
}
section#business div.wrap div ul.givani li a:hover{
  content:"";
  box-sizing: border-box;
  background-color: #eee;
  border-bottom-right-radius: 20%;
  border-top-left-radius: 100%;
}
section#business div.wrap div ul.givani li a{
background-size: 300px;
  background-repeat: no-repeat;
    background-position:center;
}
section#business div.wrap div ul.givani li.givani-1{
  grid-column: 1;
  grid-row: 1;
  top: 30;
}
section#business div.wrap div ul.givani li.givani-2{
  grid-column: 2;
  grid-row: 1;
  top: 0px;
}
section#business div.wrap div ul.givani li.givani-3{
  grid-column: 3;
  grid-row: 1;
  top:-30px;
}
section#business div.wrap div ul.givani li.givani-4{
  grid-column: 1;
  grid-row: 2;
  top:30px;
}
section#business div.wrap div ul.givani li.givani-5{
  grid-column: 2;
  grid-row: 2;
  top:0px;
}
section#business div.wrap div ul.givani li.givani-6{
  grid-column: 3;
  grid-row: 2;
  top:-30px;
}
section#business div.wrap div ul.givani li h3:before{

}
section#business div.wrap div ul.givani li.givani-1>a{
  position: relative;
  background-image: url(../img/bu1.png);
}
section#business div.wrap div ul.givani li.givani-2>a{
  position: relative;
  background-image: url(../img/bu2.png);
}
section#business div.wrap div ul.givani li.givani-3>a{
  position: relative;
  background-image: url(../img/bu3.png);
}
section#business div.wrap div ul.givani li.givani-4>a{
  position: relative;
  background-image: url(../img/bu4.png);
}
section#business div.wrap div ul.givani li.givani-5>a{
  position: relative;
  background-image: url(../img/bu5.png);
}
section#business div.wrap div ul.givani li.givani-6>a{
  position: relative;
  background-image: url(../img/bu6.png);
}
section#business div.wrap div ul.givani li {
 position: relative;
 width: calc(1200px/ 3);
 height: calc(840px/ 2); 
  grid-column: 1;
  grid-row: 1 / span 2;
}
section#business div.wrap div ul.givani li a h3 {
  grid-column: 1;
  grid-row: 3;
  font-weight: 800;  
  height: 20px;
  align-self: end;
  margin-bottom: -36px;
  transition: 5s;
  display: block;
}
section#business div.wrap div ul.givani li a h3:before:hover {
  content:"";
  grid-column: 1;
  grid-row: 1;
  font-weight: 800;  
  height: 100%;
  align-self:start;
  margin-bottom:300px;
 transform: translateY(100px);
}
section#business div.wrap div ul.givani li a i {
  width: 80px;
  height: 80px;
  background-color: #fff;
  border-radius: 50%;
  box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.15);
  transition: all 0.4s;
  position:absolute;
  bottom:0;
  right: -30px;
  opacity: 0;
}
section#business div.wrap div ul.givani li a i::after{
  content:"";
  width: 15px;
  height: 15px;
  background-image:url(../img/arrow.jpg);
  background-size: contain;
  transition: all 3s;
  position:absolute;
  background-position:center;
  z-index: 2;
  bottom: 32px;
  right: 32px;
}
section#business div.wrap div ul.givani li a:hover i {
  opacity: 1;
  transform: translateX(-40px);   
}
section#business div.wrap div ul.givani li a button {
  grid-column: 2;
  grid-row: 1;
  font-weight: 800;
  transform: rotate(90deg);
  height: 30px;
  width: 20px;
  margin: 0;
  color: #f39800;
}
section#business div.wrap ul.givani button.slick-prev::before{
 color: red;
}
section#business div.wrap ul.givani button.slick-prev{
  left: 25px;
}
section#business div.wrap ul.givani button.slick-next::before{
  color: red;
}
section#business div.wrap ul.givani button.slick-next{
  right: 25px;
}
section#business div.wrap div ul.givani li a h4 {
  grid-column: 2;
  grid-row: 2; 
  padding-top: 100px;
}

/* 포트폴리오 */
section#portfolio {
  display: flex;
  align-items: center;
  min-height: 700px;
}
#portfolio .wrap{
}
#portfolio .wrap > h3 { 
  margin-bottom: 25px;
}
#portfolio .wrap .list > button {
  border: none;
  background-color: transparent;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  cursor: pointer;
  font-size: 0;
  width: 75px;
  height: 75px;
  top: calc(50% - 32.5px);
}
#portfolio .wrap .list button.slick-prev {
  background-image: url(../img/prev.svg);
  left: -25px;
  z-index: 1;
}
#portfolio .wrap .list button.slick-next {
  background-image: url(../img/next.svg);
  right: -25px;
}
#portfolio .wrap .list button::before {
  display: none;
}
#portfolio .wrap ul.list li img {
  border-radius: 15px;
}

#portfolio .wrap ul.list li div{ 
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px;
  margin:50px;
  padding-top: 20px;
  padding-bottom: 20px;
  border-radius: 20px;
}
#portfolio div.wrap ul.list li p { 
  font-size: 16px;
  color: #000;
  font-weight: 300;
  font-family: 'Noto Sans KR', sans-serif;
  text-align: center;
  line-height: 1.5;
  padding-bottom: 10px;
  margin: 0 auto;
}

#portfolio div.wrap {
  flex-direction: column;
  min-height: auto;
}
#portfolio div.wrap h1 {
  font-size: 80px;
  font-weight: 800;
  margin-left: 50px;
  margin-bottom: 10px;
  color: #005083;
    margin-top: 100px;
   letter-spacing: -10px;
}
#portfolio div.wrap p{
  display: flex;
  flex-direction: column;
  font-size: 22px;
  margin-left:70px;
  margin-top: 20px;
}
#portfolio div.wrap ul.list {
  gap: 30px;
  width: 100%;
  height: auto;
}
#portfolio div.wrap ul.list div.slick-track li h3 {
  text-align: center;
  height: 40px;
  transition: 1s;
}
#portfolio div.wrap ul.list div.slick-track li:nth-child(2) h3 {

  grid-column: 1;
  grid-row: 1;
}
#portfolio div.wrap ul.list li figure {
  grid-column: 1;
  grid-row: 1 / span 2;
}
#portfolio div.wrap ul.list li:nth-child(2) figure{
  grid-column: 2;
  grid-row: 1 / span 2;
}

#portfolio div.wrap ul.list li figure img {
  display: block;
  width: 260px;
  height: 300px;
}

@keyframes  slide{
  100%{
    transform: rotateY(190deg);
  }
}
#portfolio div.wrap ul.list li ul.sub {
  z-index: 1;
  padding: 1px 0px 15px 20px;
  box-shadow: 1px 2px 3px #ceb5c9; 
  border-radius: 15px;
}
#portfolio div.wrap ul.list li:nth-child(2) ul.sub{
  grid-column: 1;
  grid-row: 2;
}
#portfolio div.wrap ul.list li ul.sub>li {
  color: #666;
  justify-content: center;
}
#portfolio div.wrap ul.list li:nth-child(2) ul.sub > li{
  
}
#portfolio div.wrap ul.list li ul.sub li.work{
  display: flex;
}
#portfolio div.wrap ul.list li ul.sub li strong {
  display: inline-block;
  color: #000;
}
#portfolio div.wrap ul.list li ul.sub li ul {
 
}
#portfolio div.wrap ul.list li ul.sub li ul li {
 letter-spacing: 0.3px;
}
#portfolio div.wrap ul.list li ul.sub li a {
  color: white;
  transition: 0.2s;
}
#portfolio div.wrap ul.list li ul.sub li a:first-child{
  margin-right:10px;
}
#portfolio div.wrap ul.list li ul.sub li a::before{
  content: "";
  background-image: url(../img/view.svg);
  width: 16px;
  height: 16px;
  display: inline-block;
  vertical-align: -1px;
  background-size: contain;
  margin-left: 4px;
  transition: 0.4s;
}
#portfolio div.wrap ul.list li ul.sub li a:hover::before{
  transform: translateX(3px);
}
#portfolio div.wrap ul.list li ul.sub li a:first-child::before{
  background-image: url(../img/view.svg);
  opacity: 0.8;
}
#portfolio div.wrap ul.list li ul.sub li a:hover::before{
  background-image: url(../img/view-black.svg);
  transform: translateX(5px);
}
#portfolio div.wrap ul.list li ul.sub li a:hover{
  background-color: #FFD100;
  color: #111;
}

:root{
  --wrap:1200px; --brand:#0B79D0; --line:#e5e7eb; --muted:#6b7280; --text:#111;
  --radius:16px; --radius-lg:24px;
}
body{margin:0;font-family:"Noto Sans KR",system-ui,Arial,sans-serif;color:var(--text);background:#fff}
#kdto-sns .slick-slide{
    float: left;
    height: auto;
    min-height: 1px;
}
/* Hero */
  .news-slider img {
    width: 50%;
    aspect-ratio: 12/7;
    height: auto;
    object-fit: cover;
    border-radius: 12px;
    margin-bottom: 8px;
    display: block;
  }

@media (max-width:768px){
  .hero-slide img{height:320px}
  .quick-cards{grid-template-columns:repeat(3,1fr);}
  .quick-card strong{font-size:13px;line-height:1;letter-spacing:-2px;}
}

/* ---------------- SECTION 2: 공지사항 / 협회소식 ---------------- */
#kdto-board{padding:8px 0 28px;
            min-height:500px;}
#kdto-board .wrap h1{
  font-size: 90px;
  font-weight: 800;
  margin-left: 50px;
  margin-bottom: 10px;
  color: #005083;
  margin-top: 100px;
  letter-spacing: -15px;
}
#kdto-board .wrap p {
  margin-bottom:30px;
  font-size: 20px;
  /*! margin-left: 70px; */
}
.board-wrap{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-top: 30px;}
@media(max-width:1024px){.board-wrap{grid-template-columns:1fr}}

.card{
  border:1px solid var(--line);background:#fff;border-radius:var(--radius-lg);
  padding:25px 30px 20px;position:relative;box-shadow:0 2px 10px rgba(0, 0, 0, 0.05);
  align-content: center;
}
.card p{font-size: 12px;}
.card h2{margin:0 0 22px;font-size:20px;font-weight:700}
.card .more{position:absolute;right:24px;top:24px;font-size:14px;color:#4b5563;text-decoration:none}
.card .more span{margin-left:3px;color:#6b7280}

/* 공지사항(왼쪽) */
.notice-top{display:flex;align-items:center;gap:16px;margin-bottom:14px;border-top:1px solid var(--line);padding-top:16px}
.notice-date{
  width:78px;height:78px;border-radius:30%;border:10px solid #94a3b8;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  color:#475569;font-weight:700;flex-shrink:0;
  font-size: 20px;
}
.notice-date span{font-size:15px;color:#94a3b8}
.notice-title{font-weight:800;font-size:24px;margin:0 0 6px}
.notice-sub{font-size:13px;color:var(--muted);margin:0;}
.notice-list{margin:12px 0 0 94px;list-style:disc;padding-left:16px;}
.notice-list li{font-size:20px;line-height:1.6;margin:6px 0}
.notice-list a{color:inherit;text-decoration:none}
.notice-list a:hover{color:var(--brand);text-decoration:underline}
@media (max-width:1200px){
    .notice-title {
  font-weight: 800;
  font-size: 16px;
  margin: 0 0 6px;
}
  .notice-date {
  width: 68px;
  height: 68px;
}
  .notice-list li{font-size:14px;line-height:1.2;margin:10px 0}
  .news-item strong{
    font-size: 14px;
  }
}
@media(max-width:768px){
  .notice-title {
  font-weight: 600;
  font-size: 13px;
  margin: 0 0 6px;
}
  .notice-date {
  width: 58px;
  height: 58px;
}
  .notice-list{margin:0px 0px 0px 30px}
  .notice-list li{font-size:12px;line-height:1.1;margin:6px 0;}
  .notice-sub {
    font-size: 11px;}
  .card h2 { margin: 0 0 22px;
    font-size: 17px;
    font-weight: 700;
  }
}
/* 협회소식(오른쪽 슬라이드) */
.news-card,.news-slider{
  min-width:0;
                      }
.news-slider img{width:90%;aspect-ratio:16/9;height:auto;object-fit:cover;border-radius:12px;margin-bottom:8px;display:block}
.news-item{display:block;color:#111;text-decoration:none}
.news-item strong{display:block;font-size:17px;margin-bottom:14px;}
#kdto-board div a.news-item p{margin:0;color:var(--muted);font-size:14px;}
.news-slider .slick-slide{margin-right:18px;}
.news-slider .slick-list{margin-right:-18px}
.slick-dots{bottom:-22px}
.slick-dots li button:before{color:#cbd5e1}
.slick-dots li.slick-active button:before{color:var(--brand)}
.slick-prev:before,.slick-next:before{color:#475569}
@media(max-width:1200px){
  .news-item strong{
    font-size: 16px;
  }
}
@media(max-width:768px){
  .news-item strong{
    font-size: 18px;
  }
}
/* ---------------- SECTION 3: 하단 SNS 홍보 배너 ---------------- */
#kdto-sns{
  height: auto;
  padding:12px 0 40px;}
#kdto-sns .wrap{padding-top: 10px;}
#kdto-sns .wrap h1{
  font-size: 90px;
  font-weight: 800;
  margin-left: 50px;
  margin-bottom: 10px;
  color: #005083;
  margin-top: 100px;
  letter-spacing: -16px;
}
#kdto-sns .wrap p {
  margin-bottom:30px;
  font-size: 22px;
  margin-left: 70px;
}
.sns-card{padding:18px 20px 8px;border-radius:var(--radius-lg)}
.sns-bar{display:flex;gap:8px;margin-bottom:12px}
.sns-bar a{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:12px;background:#f3f4f6;border:1px solid var(--line);text-decoration:none;color:#111;font-weight:600;text-wrap: nowrap;}
.sns-bar a:hover{background:#e8edf2}
.sns-slider .sns-item{display:block;text-decoration:none;color:#111}
.sns-slider img{aspect-ratio:16/9;object-fit:cover;border-radius:12px;width: 300px;height: 250px;}
.sns-slider .title{font-size:17px;margin-top:16px;}
.sns-slider .slick-slide{margin-right:16px}
.sns-slider .slick-list{margin-right:-16px}
section#rolling{
  width: 100vw;
  overflow: hidden;
}
section#rolling div{
  display:flex;
  flex-wrap: nowrap;
  white-space: nowrap;
  min-width: 100%;
  width: 100%;
  background: #5035bb;
  color: #fff;
  font-weight: bold;
}
section#rolling .news-message{
  display : flex;
  flex-shrink: 0;
  height: 60px;
  align-items: center;
  animation: slide-left 20s linear infinite;
  padding-left: 0px;
  /*! width: 100vw; */
}
section#rolling p{
    font-size: 1.5em;
    padding-left: 0.5em;
  }
  @keyframes slide-left {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}

/* 하단 */
footer {
  background-color: #8762a1;
  overflow: hidden;
  width: 100vw;
  margin: 0 auto;
}
footer div.wrap {
  display: grid;
  grid-template-columns: auto 1fr 1fr;
  grid-template-rows: auto 33px auto auto auto;
  align-items: center;
  padding-top: 35px;
  padding-bottom: 35px;
  row-gap: 20px;
  position: relative;
}
footer div.wrap ul.sangdam { 
  gap: 40px;
  margin-bottom: 12px;
}
footer div.wrap ul.sangdam li {
  word-spacing: 1px;
}
footer div.wrap ul.sns {
  grid-column: 3;
  grid-row: 1;
  justify-self: right;
  gap: 20px;
  align-self: baseline;
}
footer div.wrap ul.sns li {
 
}
footer div.wrap ul.sns li a {
  font-size: 0;
  width: 24px;
  height: 24px;
}
footer div.wrap ul.sns li:nth-child(1) a {
  background-image: url(../img/icon_foot_sns1.png);
}
footer div.wrap ul.sns li:nth-child(2) a {
  background-image: url(../img/icon_foot_sns2.png);
}
footer div.wrap ul.sns li:nth-child(3) a {
  background-image: url(../img/icon_foot_sns3.png);
}
footer div.wrap ul.sns li:nth-child(4) a {
  background-image: url(../img/icon_foot_sns4.png);
}
footer div.wrap ul.sns li:nth-child(5) a {
  background-image: url(../img/icon_foot_sns5.png);
}
footer div.wrap ul.sns li:nth-child(6) a {
  background-image: url(../img/icon_foot_sns6.png);
}
footer div.wrap ul.sns li:nth-child(7) a {
  background-image: url(../img/icon_foot_sns7.png);
}
footer div.wrap ul.sns li:nth-child(8) a {
  background-image: url(../img/icon_foot_sns8.png);
}
footer div.wrap ul.fnb {
  grid-column: 1 / span 2;
  grid-row: 2;
  transform: translateX(-12px);
}
footer div.wrap ul.fnb li {
 
}
footer div.wrap ul.fnb li a {
 padding: 12px;
}
footer div.wrap ul.fnb li a:hover{
 color: #7f7f7e;
 text-decoration: underline;
}
footer div.wrap span {
  grid-column: 3;
  grid-row: 2;
  justify-self: right;
  gap: 15px;
}
footer div.wrap span select {
}
footer div.wrap span select option {
 
}
footer div.wrap address {
  grid-column: 1;
  grid-row: 3;
  /*! margin-top: -35px; */
}
footer div.wrap p {
  grid-column: 1;
  grid-row: 4;
  margin-top: -39px;
}
footer div.wrap ul.fnb2 {
  grid-column: 2 / span 2;
  grid-row: 3 / span 2;
  justify-self: center;
  border: 1px solid #333;
  border-radius: 6px;
  align-self: baseline;
  flex-direction: column;
}
footer div.wrap ul.fnb2 li {
 
}
footer div.wrap ul.fnb2 li a {
  display: block;
  width: 250px; 
  text-align:left;
  position: relative;
  padding: 10px 0px 10px 40px;
  background-position-y: 10px;
  background-position-x: 10px;
  background-repeat: no-repeat;
}
footer div.wrap ul.fnb2 li:nth-child(1) a {
  background-image: url(../img/t.png);
}
footer div.wrap ul.fnb2 li a:hover{
  color: #fff;
}
footer div.wrap ul.fnb2 li:nth-child(2) a{
  border-top:1px solid #555;
  background-image: url(../img/icon_foot_sns7.png);
}
footer div.wrap ul.medal {
  grid-column: 1 / span 3;
  grid-row: 5;

}
footer div.wrap ul.medal li {
 width: calc(100% / 4);
 position: relative;
 padding-left: 54px; 
}
footer div.wrap ul.medal li img{
  position: absolute;
  left: 0;
  top: -20px;
}
footer div.wrap ul.medal li a {
 
}
footer div.wrap ul.medal li  img{
  width: 48px;
  height: 48px;
  background-color: #fff;
  border-radius: 50%;
}

/* ===== SAFE PATCH (붙여넣기) ===== */
header div.wrap{width:auto;max-width:1440px;margin:0 auto;}
header .wrap nav .wgnb{z-index:50;}
header .wrap nav h1{z-index:100;}
div#title{max-width:1440px;margin:0 auto;}
div#title .slick-dots{bottom:25px;}
/* .top 버튼 고정형 원하면 아래 주석 제거
.top{right:16px;bottom:16px;left:auto !important;top:auto !important;}
*/
