@charset "UTF-8";
/* CSS Document */

body,
div,
ul,
li,
ol,
dd,
dt,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
p,
form,
fieldset,
legend,
select,
input {
  margin: 0;
  padding: 0;
  color: #272727;
}
body,
input,
textarea,
select,
button,
table {
  font-family: HelveticaNeue, AppleSDGothicNeo-Regular, Sans-serif;
  font-size: 12px;
  line-height: 1.7;
}
fieldset {
  border: none;
}
h1,
h2,
h3,
h4,
h5,
h6,
hr {
  font-size: 12px;
  font-weight: nomal;
  -webkit-margin-before: 0em;
  -webkit-margin-after: 0em;
  -webkit-margin-start: 0px;
  -webkit-margin-end: 0px;
}
a {
  text-decoration: none;
  cursor: pointer;
}
a:hover,
a:active {
}
li,
ul,
ol {
  list-style: none;
}
img {
  border: 0;
}

.input_text,
.select {
  padding: 2px 0;
  border: 1px solid #eaeaea;
}

.Wrap {
  position: relative;
  height: 100%;
  width: 100%;
}

.naviWrap {
  background: #ffffff;
  width: 100%;
  border-bottom: 1px solid #eaeaea;
}
.naviWrap ul {
  width: 100%;
  max-width: 1000px;
  padding: 15px 0;
  margin: 0 auto;
}
.naviWrap ul:after {
  clear: both;
  display: block;
  content: "";
}
.naviWrap ul li:first-child {
  float: left;
}
.naviWrap ul li:last-child {
  float: right;
  margin: 7px 0 0 0;
}
.naviWrap ul li:last-child a {
  color: #282828;
}
.naviWrap ul li:last-child span {
  padding: 0 5px;
  color: #a7a7a7;
}
.naviWrap ul li div {
  display: inline-block;
  margin: 8px 0 0 0;
  color: #d9d9d9;
}

.naviWrap ul li a h1 {
  display: block;
  background: url("../images/logo.png") no-repeat;
  width: 295px;
  height: 39px;
}

.headerWrap {
  width: 100%;
  background: url("../images/header_bg.png") no-repeat;
  background-size: cover;
  text-align: center;
  padding: 120px 0 0 0;
}
.headerWrap h2 {
  font-size: 52px;
  font-weight: normal;
  color: #ffffff;
  letter-spacing: -4px;
  text-shadow: 0px 0px 15px rgba(0, 0, 0, 0.3);
}
.headerWrap h2 span {
  font-size: 52px;
  font-weight: bold;
  color: #ff7200;
}
.headerWrap hr {
  width: 30px;
  margin: 20px auto 0 auto;
}
.headerWrap h3 {
  font-size: 34px;
  font-weight: normal;
  color: #ffffff;
  letter-spacing: -1px;
  line-height: 32px;
  text-shadow: 0px 0px 7px rgba(0, 0, 0, 0.6);
  padding: 30px 0 20px 0;
}
.headerWrap h4 {
  font-size: 16px;
  color: #ffffff;
  font-weight: normal;
}

.testWrap {
  background: rgba(0, 0, 0, 0.3);
  padding: 20px 0 30px 0;
  margin: 80px 0 0 0;
}
.testWrap h3 {
  font-size: 22px;
  letter-spacing: -1px;
  padding: 0 0 15px 0;
}
.testWrap ul {
  background: #ffffff;
  width: 70%;
  margin: 0 auto;
  max-width: 600px;
}
.testWrap ul:after {
  display: block;
  content: "";
  clear: both;
}
.testWrap ul input,
.testWrap ul a {
  font-size: 17px;
  border: none;
  padding: 15px 0;
  float: left;
  text-align: center;
}
.testWrap ul input {
  width: 60%;
}
.testWrap ul a {
  color: #ffffff;
  background: #585dc3;
  display: inline-block;
  padding: 15px 0;
  width: 40%;
  font-weight: bold;
  position: relative;
}
.testWrap ul a span {
  background: url(../images/bull_btn.png) no-repeat;
  display: block;
  width: 12px;
  height: 17px;
  right: 6%;
  position: absolute;
  top: 50%;
  margin: -7px 0 0 0;
}

.aboutWrap {
  background: #f7f7f7;
  margin: 120px 0;
  width: 100%;
}
.aboutWrap ul:after {
  clear: both;
  display: block;
  content: "";
}
.aboutWrap ul {
  max-width: 1000px;
  margin: 0 auto;
  padding: 60px 0 90px;
  position: relative;
}
.aboutWrap ul li {
  width: 45%;
  float: right;
}

.aboutWrap ul li h2 {
  font-size: 32px;
  font-weight: normal;
  letter-spacing: -2px;
  padding: 0 0 0 0;
  text-align: left;
  line-height: 45px;
}
.aboutWrap ul li h3 {
  font-size: 14px;
  font-weight: normal;
  letter-spacing: -0.5px;
  padding: 10px 0 30px 0;
  text-align: left;
  line-height: 26px;
}
.aboutWrap ul li a {
  color: #787878;
  border-radius: 30px;
  padding: 8px 40px;
  font-size: 15px;
  text-decoration: none;
  display: inline-block;
  border: 1px solid #b5b5b5;
}

.aboutWrap ul .slideWrap {
  position: absolute;
  top: -60px;
  left: 0;
}
.aboutWrap ul .slideWrap .slide {
  position: relative;
  background: url("../images/slide_bg.jpg");
  background-size: cover;
  width: 480px;
  height: 480px;
}
.aboutWrap ul .slideWrap .slide ul {
  width: 80%;
  margin: 0 auto;
  text-align: left;
}
.aboutWrap ul .slideWrap .slide ul h2 {
  font-weight: bold;
  color: #ffffff;
  font-size: 34px;
  line-height: 48px;
}
.aboutWrap ul .slideWrap .slide ul hr {
  margin: 40px 0;
  width: 80px;
  position: relative;
  display: inline-block;
}
.aboutWrap ul .slideWrap .slide ul li {
  color: #ffffff;
  padding: 0 0 0 20px;
  width: 90%;
  float: left;
  margin: 0 0 15px 0;
  font-size: 15px;
  background: url("../images/bull_slide.png") no-repeat 0 12px;
}
.aboutWrap ul .slideWrap .slide ul li:last-child {
  margin: 0;
}

.aboutWrap ul .slideWrap .slide .slide_navi {
  position: absolute;
  top: 10%;
  right: 5%;
}
.aboutWrap ul .slideWrap .slide .slide_navi ul {
  padding: 0;
  width: 100%;
  max-width: 100%;
}
.aboutWrap ul .slideWrap .slide .slide_navi ul li {
  display: block;
  background: #473c33;
  width: 7px;
  height: 7px;
  border-radius: 20px;
  float: left;
  margin: 0 0 0 10px;
  padding: 0;
}
.aboutWrap ul .slideWrap .slide .slide_navi li.on {
  background: #ffffff;
}

.verWrap {
  width: 100%;
  max-width: 1000px;
  margin: 60px auto 0 auto;
}
.verWrap h2 {
  font-size: 32px;
  font-weight: normal;
  letter-spacing: -2px;
  padding: 30px 0 0 0;
  text-align: center;
  line-height: 45px;
}
.verWrap h3 {
  font-size: 14px;
  font-weight: normal;
  letter-spacing: -0.5px;
  padding: 10px 0 0 0;
  text-align: center;
  line-height: 26px;
}
.verWrap a {
}

.verWrap ul {
  width: 100%;
  position: relative;
  margin: 40px 0 0 0;
}
.verWrap ul:after {
  clear: both;
  display: block;
  content: "";
}
.verWrap ul li {
  width: 49%;
  display: block;
  height: 370px;
  position: relative;
  text-align: left;
}
.verWrap ul li:first-child {
  float: left;
  background: url("../images/ver_bg02.png");
  background-size: cover;
  color: #ffffff;
}
.verWrap ul li:last-child {
  float: right;
  background: url("../images/ver_bg01.png");
  background-size: cover;
  color: #ffffff;
}
.verWrap ul li h4,
.verWrap ul li h5,
.verWrap ul li p {
  width: 80%;
  margin: 0 auto;
  color: #ffffff;
}
.verWrap ul li h4 {
  font-size: 32px;
  padding: 60px 0 20px 0;
}
.verWrap ul li .line {
  width: 80%;
  margin: 0 auto;
}
.verWrap ul li .line hr {
  width: 80px;
  display: inline-block;
}
.verWrap ul li h5 {
  font-size: 14px;
  font-weight: normal;
  line-height: 24px;
  padding: 15px 0 30px 0;
}
.verWrap ul li p {
  font-size: 14px;
}
.verWrap ul li p span {
  padding: 0 7px;
  color: #bbbbbb;
}

.processWrap {
  width: 100%;
  max-width: 1000px;
  margin: 60px auto 0 auto;
}
.processWrap h2 {
  font-size: 32px;
  font-weight: normal;
  letter-spacing: -2px;
  padding: 0 0 0 0;
  text-align: center;
}
.processWrap h3 {
  font-size: 14px;
  font-weight: normal;
  letter-spacing: -0.5px;
  padding: 5px 0 0 0;
  text-align: center;
}

.processWrap ul {
  width: 100%;
  position: relative;
  margin: 40px 0 0 0;
}
.processWrap ul:after {
  clear: both;
  display: block;
  content: "";
}
.processWrap ul li {
  width: 25%;
  float: left;
  text-align: center;
  padding: 190px 0 0 0;
}
.processWrap ul li:last-child {
  margin: 0;
}

.processWrap ul li h4 {
  font-weight: bold;
  font-size: 20px;
  letter-spacing: -0.5px;
  line-height: 27px;
  width: 90%;
  margin: 0 auto;
}
.processWrap ul li dl {
  margin: 5px auto 10px auto;
  width: 90%;
}
.processWrap ul li dl dt {
  text-align: center;
}

.processWrap ul li a {
  display: inline-block;
  padding: 5px 13px;
  background: #272727;
  border-radius: 30px;
  color: #ffffff;
  font-weight: bold;
  font-size: 12px;
}

.processWrap ul li.process01 {
  background: url("../images/process_bg01.png") no-repeat center top;
}
.processWrap ul li.process02 {
  background: url("../images/process_bg02.png") no-repeat center top;
}
.processWrap ul li.process03 {
  background: url("../images/process_bg03.png") no-repeat center top;
}
.processWrap ul li.process04 {
  background: url("../images/process_bg04.png") no-repeat center top;
}

.clientWrap {
  width: 100%;
  margin: 60px auto 60px auto;
  padding: 60px 0;
  text-align: center;
  background: #f8f8f8;
}
.clientWrap h2 {
  font-size: 32px;
  font-weight: normal;
  letter-spacing: -1px;
  padding: 0 0 30px 0;
}
.clientWrap h2 span {
  font-weight: bold;
}
.clientWrap h3 {
  font-size: 16px;
  font-weight: normal;
  letter-spacing: -0.5px;
  padding: 70px 0 0px 0;
}
.clientSlide {
  background: url("../images/client_bg.jpg") repeat-x;
  height: 170px;
  margin: 40px 0 0 0;
}

.inquiryWrap {
  max-width: 1000px;
  width: 100%;
  margin: 60px auto;
  text-align: center;
}
.inquiryWrap h2 {
  font-size: 32px;
  font-weight: normal;
  letter-spacing: -1px;
}
.inquiryWrap h2 span {
  font-weight: bold;
}
.inquiryWrap h3 {
  font-size: 14px;
  font-weight: normal;
  letter-spacing: -0.5px;
  padding: 15px 0 20px 0;
}
.inquiryWrap .inquiryCont {
  max-width: 700px;
  width: 100%;
  margin: 0 auto;
  text-align: left;
}
.inquiryWrap .inquiryCont li {
  border-bottom: 1px solid #d9d9d9;
  padding: 5px 0;
  color: #575757;
}
.inquiryWrap .inquiryCont li:after {
  clear: both;
  display: block;
  content: "";
}
.inquiryWrap .inquiryCont li:last-child {
}

.inquiryWrap .inquiryCont .inquiryCont1 {
  float: left;
  width: 15%;
}
.inquiryWrap .inquiryCont .inquiryCont2 {
  float: left;
  width: 80%;
}

.inquiryWrap .inquiryCont li input {
  padding: 10px 0;
  width: 80%;
  border: none;
}
.inquiryWrap .inquiryCont li input[type="checkbox"] {
  width: auto;
}
.inquiryWrap .inquiryCont li textarea {
  vertical-align: top;
  width: 80%;
  border: none;
  height: 100px;
}
.inquiryWrap .inquiryCont p.check {
  margin: 15px 0 30px 0;
}
.inquiryWrap a.btn_inquiry {
  color: #787878;
  border-radius: 30px;
  padding: 10px 60px;
  font-size: 15px;
  text-decoration: none;
  display: inline-block;
  border: 1px solid #b5b5b5;
}
.inquiryWrap .inquiryCont p.check a {
  color: #80898e;
  cursor: pointer;
}

.termsWrap {
  margin: 0 0 30px 0;
  background: #f7f7f7;
}
.terms_title {
  position: relative;
  padding: 5px 10px;
  background: #e4e4e4;
}
.terms_title h5 {
  font-size: 12px;
  font-weight: bold;
}
.terms_title a {
  position: absolute;
  top: 7px;
  right: 10px;
  color: #999999;
}
.terms_summary {
  height: 50px;
  overflow-y: scroll;
  font-size: 11px;
  padding: 10px;
}

.phoneWrap {
  text-align: center;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  border-top: 1px solid #eaeaea;
  padding: 30px 0 40px 0;
}
.phoneWrap h2 {
  font-size: 37px;
  font-weight: bold;
  color: #5f646b;
}
.phoneWrap h3 {
  font-size: 14px;
  font-weight: normal;
  color: #5f646b;
}
.phoneWrap h3 span {
  font-weight: bold;
  padding: 0 5px 0 0;
}

/* 푸터 */
.footerWrap {
  padding: 20px 0;
  background: #282828;
  width: 100%;
  bottom: 0;
}
.footer {
  max-width: 1000px;
  margin: 0 auto;
  position: relative;
}
.footer:after {
  clear: both;
  display: block;
  content: "";
}
.footer .copyright {
  float: left;
  width: 60%;
}
.footer .copyright > p {
  font-size: 12px;
  line-height: 22px;
  color: #9a9a9a;
}

.footer .contact {
  float: right;
  width: 40%;
}

.footer .contact .lang {
  display: block;
  right: 0;
  margin: 0 0 5px 0;
}
.footer .contact .lang li {
  text-align: right;
  color: #fff;
}
.footer .contact .lang li a {
  color: #fff;
}
.footer .contact .lang li span {
  padding: 0 5px;
  color: #a7a7a7;
}

/*
.footer .contact .lang li a.ico_kr {display:inline-block; background:url('../images/ico_kr.png') no-repeat; width:25px; height:17px;}
.footer .contact .lang li a.ico_en {display:inline-block; background:url('../images/ico_en.png') no-repeat; width:25px; height:17px;}
.footer .contact .lang li a.ico_cn {display:inline-block; background:url('../images/ico_cn.png') no-repeat; width:25px; height:17px;}*/

.footerWrap .sns-family-wrapper {
  font-size: 12px;
  color: #999999;
  max-width: 1000px;
  margin: 0 auto;
}

.footerWrap .sns-family-wrapper .sns-wrapper {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0 5px;
}
.footerWrap .sns-family-wrapper .sns-wrapper > p {
  color: #9a9a9a;
}
.footerWrap .sns-family-wrapper .sns-wrapper ul {
  display: flex;
  gap: 0 5px;
}
.footerWrap .sns-family-wrapper .sns-wrapper ul li .instagram {
  width: 26px;
  height: 26px;
  background: url("../images/sns1.png") no-repeat;
  cursor: pointer;
}
.footerWrap .sns-family-wrapper .sns-wrapper ul li .facebook {
  width: 26px;
  height: 26px;
  background: url("../images/sns2.png") no-repeat;
  cursor: pointer;
}
.footerWrap .sns-family-wrapper .sns-wrapper ul li .blog {
  width: 26px;
  height: 26px;
  background: url("../images/sns3.png") no-repeat;
  cursor: pointer;
}
.footerWrap .sns-family-wrapper .sns-wrapper ul li .youtube {
  width: 26px;
  height: 26px;
  background: url("../images/sns4.png") no-repeat;
  cursor: pointer;
}

.footer .contact .title {
  overflow: hidden;
  padding: 0;
  text-align: right;
}
.footer .contact .title select {
  border: 0;
  padding: 4px 10px;
  margin: 0;
}

.popCont {
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
  font-size: 14px;
  line-height: 25px;
}
.popCont h2 {
  font-size: 26px;
  font-weight: bold;
  padding: 40px 0 30px 0;
}
.popCont h3 {
  font-size: 16px;
  font-weight: bold;
  padding: 40px 0 5px 0;
}
.popCont a.btn_pop_close {
  color: #787878;
  border-radius: 30px;
  padding: 8px 40px;
  font-size: 15px;
  text-decoration: none;
  display: inline-block;
  border: 1px solid #b5b5b5;
}

.btn_popWrap {
  text-align: center;
  margin: 0 0 40px 0;
}

.btn_popWrap2 {
  border-top: 1px solid #666666;
  padding: 20px 0 40px 0;
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
  text-align: center;
}
.btn_popWrap2 a.btn_pop_close {
  color: #787878;
  border-radius: 30px;
  padding: 8px 40px;
  font-size: 15px;
  text-decoration: none;
  display: inline-block;
  border: 1px solid #b5b5b5;
}

.popWrap .naviWrap ul li {
  float: left;
}
.popCont .pop2layout ul:after {
  clear: both;
  display: block;
  content: "";
}
.popCont .pop2layout li:first-child {
  float: left;
  width: 45%;
  margin: 20px 0;
}
.popCont .pop2layout li:last-child {
  float: right;
  width: 50%;
  margin: 20px 0;
}

.popCont .pop2layout img {
  border: 1px solid #eaeaea;
  margin: 10px 0 0 0;
  width: 100%;
}

.reportWrap {
  border-top: 1px solid #272727;
  border-bottom: 1px solid #272727;
  padding: 5px 0;
  margin: 10px 0 30px 0;
}
.reportWrap ul {
  width: 95%;
  margin: 0 auto;
  border-bottom: 1px dashed #eaeaea;
  padding: 20px 0;
  font-weight: bold;
}
.reportWrap ul:after {
  clear: both;
  display: block;
  content: "";
}
.reportWrap ul:last-child {
  border: none;
}

.reportWrap ul li:first-child {
  float: left;
  width: 70%;
}
.reportWrap ul li:last-child {
  float: right;
  width: 30px;
}

.sub_pdf {
  font-weight: normal;
  display: block;
  font-size: 12px;
}

@media screen and (max-width: 1024px) {
  .headerWrap {
    padding: 60px 0 0 0;
  }
  .headerWrap h2 {
    font-size: 34px;
    line-height: 43px;
    letter-spacing: -1.5px;
  }
  .headerWrap h2 span {
    font-size: 40px;
  }
  .headerWrap h3 {
    font-size: 26px;
    padding: 11px 0;
  }
  .headerWrap h4 {
    font-size: 14px;
  }

  .testWrap h3 {
    font-size: 20px;
  }

  .aboutWrap {
    margin: 0;
  }
  .aboutWrap ul {
    max-width: 90%;
    margin: 0 auto;
    padding: 40px 0;
    position: relative;
  }
  .aboutWrap ul li {
    float: none;
    width: 100%;
    padding: 0 0 40px 0;
  }
  .aboutWrap ul li h3 {
    padding: 10px 0;
  }

  .aboutWrap ul .slideWrap .slide ul h2 {
    font-size: 30px;
    line-height: 40px;
  }
  .aboutWrap ul .slideWrap .slide ul hr {
    margin: 20px 0;
  }
  .aboutWrap ul .slideWrap .slide {
    width: 100%;
    height: 400px;
  }

  .aboutWrap ul .slideWrap {
    position: relative;
    width: 100%;
    padding: 0;
    margin: 0 auto;
    bottom: 0;
    top: unset;
  }

  .testWrap {
    margin: 40px 0 0 0;
  }
  .testWrap ul {
    max-width: 90%;
    width: 90%;
  }
  .testWrap ul input,
  .testWrap ul a {
    font-size: 14px;
  }

  .testWrap ul input {
    width: 60%;
  }
  .testWrap ul a {
    width: 40%;
  }

  .naviWrap ul {
    max-width: 90%;
  }

  .verWrap {
    max-width: 90%;
  }
  .verWrap ul li {
    width: 100%;
    margin: 0 0 5% 0;
  }

  .inquiryWrap {
    max-width: 90%;
  }

  .phoneWrap {
    max-width: 90%;
  }

  .clientWrap h2 {
    padding: 0 0 5px 0;
  }

  .footer {
    max-width: 90%;
    margin: 0 auto;
    position: relative;
  }
  .footer .copyright {
    float: none;
    width: 100%;
  }
  .footer .contact {
    float: none;
    width: 100%;
    margin: 20px 0 0 0;
  }
  .footer .contact .title {
    overflow: hidden;
    padding: 0;
    text-align: left;
  }
  .footer .contact .lang li {
    text-align: left;
  }

  .footerWrap .sns-family-wrapper {
    max-width: 90%;
  }
}

@media screen and (max-width: 768px) {
  h3 span,
  h2 span {
    display: block;
  }

  .naviWrap ul li a h1 {
    display: block;
    background: url("../images/logo.png") no-repeat;
    width: 200px;
    height: 24px;
    background-size: 100% auto;
  }

  .verWrap h3,
  .processWrap h3,
  .inquiryWrap h3 {
    font-size: 14px;
  }

  .aboutWrap ul .slideWrap .slide {
    width: 100%;
    height: 400px;
  }

  .verWrap ul {
    margin: 20px 0 0 0;
  }

  .verWrap ul li {
    height: 325px;
  }
  .verWrap ul li h4 {
    font-size: 30px;
    padding: 40px 0 20px 0;
    line-height: 37px;
  }
  .verWrap ul li h5 {
    line-height: 22px;
  }

  .processWrap ul li {
    width: 50%;
    margin: 0 0 10% 0;
  }
  .processWrap ul {
    margin: 20px 0 0 0;
  }
  .processWrap ul li {
    padding: 130px 0 0 0;
  }
  .processWrap ul li.process01,
  .processWrap ul li.process02,
  .processWrap ul li.process03,
  .processWrap ul li.process04 {
    background-size: 120px auto;
  }

  .processWrap ul li dl {
    font-size: 14px;
  }

  .clientWrap {
    padding: 50px auto 60px auto !important;
  }

  .popCont .pop2layout ul:after {
    clear: both;
    display: block;
    content: "";
  }
  .popCont .pop2layout li:first-child {
    float: none;
    width: 100%;
    margin: 20px 0;
    text-align: center;
  }
  .popCont .pop2layout li:last-child {
    float: none;
    width: 100%;
    margin: 20px 0;
  }
  .popCont .pop2layout img {
    border: 1px solid #eaeaea;
    margin: 0;
    width: 50%;
  }
}

@media screen and (max-width: 468px) {
  .testWrap ul a span {
    background: none;
  }
  .verWrap h3,
  .processWrap h3,
  .inquiryWrap h3 {
    font-size: 16px;
  }

  .aboutWrap ul .slideWrap .slide {
    width: 100%;
    height: 400px;
  }

  .processWrap ul li {
    padding: 130px 0 0 0;
  }
}

.ceo-message-btn{display:inline-flex;align-items:center;gap:5px;color:#9a9a9a;font-size:12px;text-decoration:none;white-space:nowrap;cursor:pointer;transition:opacity .15s;}
.ceo-message-btn:hover{opacity:.7;}
.ceo-message-btn svg{width:14px;height:14px;flex:none;}

.cmm-banner{position:relative;margin-top:16px;padding:18px 20px;border-radius:10px;border:1px solid #efe4d2;background:#fbf6ec;min-height:104px;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.cmm-bn-text{position:relative;z-index:2;text-align:center;}
.cmm-carrot-ink{position:absolute;z-index:1;right:30px;top:50%;transform:translateY(-50%);width:64px;height:auto;}
.cmm-banner .cmm-hb-en{display:block;font-size:12.5px;letter-spacing:.16em;color:#9b8a6e;margin-bottom:2px;font-family:"Noto Sans KR",sans-serif;}
.cmm-banner .cmm-hb-cal{font-family:"East Sea Dokdo",cursive;font-size:46px;color:#1c1c1c;line-height:1;}
.cmm-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);display:none;align-items:center;justify-content:center;padding:20px;z-index:99999;overflow-y:auto;}
.cmm-overlay.open{display:flex;}
.cmm-modal{width:100%;max-width:720px;background:#fff;border-radius:14px;box-shadow:0 24px 60px rgba(0,0,0,.25);max-height:calc(100vh - 40px);display:flex;flex-direction:column;overflow:hidden;font-family:"Noto Sans KR",sans-serif;color:#222;}
.cmm-modal.narrow{max-width:420px;}
.cmm-head{padding:24px 24px 14px;border-bottom:1px solid #e2e2e2;position:relative;flex:none;}
.cmm-head h2{margin:0;font-size:21px;font-weight:900;}
.cmm-head p{margin:6px 0 0;font-size:13px;color:#777;}
.cmm-close{position:absolute;top:18px;right:18px;width:32px;height:32px;border:0;background:transparent;font-size:24px;color:#999;cursor:pointer;border-radius:8px;line-height:1;}
.cmm-close:hover{background:#f2f2f2;color:#444;}
.cmm-body{padding:20px 24px;overflow-y:auto;flex:1 1 auto;}
.cmm-field{margin-bottom:16px;}
.cmm-field label{display:block;font-size:14px;font-weight:700;margin-bottom:7px;}
.cmm-field input,.cmm-field textarea{width:100%;padding:12px 13px;border:1px solid #e2e2e2;border-radius:9px;font-size:15px;font-family:inherit;color:#222;background:#fff;box-sizing:border-box;}
.cmm-field input:focus,.cmm-field textarea:focus{outline:none;border-color:#F5821F;box-shadow:0 0 0 3px rgba(245,130,31,.15);}
.cmm-field textarea{resize:vertical;min-height:130px;}
.cmm-row2{display:flex;gap:12px;}
.cmm-row2 .cmm-field{flex:1;}
.cmm-counter{text-align:right;font-size:12px;color:#777;margin-top:5px;}
.cmm-consent{display:flex;align-items:flex-start;gap:9px;background:#fafafa;border:1px solid #e2e2e2;border-radius:9px;padding:12px 13px;font-size:13.5px;cursor:pointer;}
.cmm-consent input{width:18px;height:18px;margin-top:1px;flex:none;accent-color:#F5821F;}
.cmm-err{border-color:#e23c3c!important;}
.cmm-err-msg{color:#e23c3c;font-size:12.5px;margin-top:6px;display:none;}
.cmm-err-msg.show{display:block;}
.cmm-foot{padding:16px 24px 22px;border-top:1px solid #e2e2e2;display:flex;gap:10px;flex:none;}
.cmm-btn{flex:1;padding:10px;border-radius:9px;font-size:13.5px;font-weight:700;font-family:inherit;cursor:pointer;border:1px solid #e2e2e2;}
.cmm-btn-ghost{background:#fff;color:#555;}
.cmm-btn-ghost:hover{background:#f5f5f5;}
.cmm-btn-primary{background:#F5821F;color:#fff;border-color:#F5821F;}
.cmm-btn-primary:hover{background:#e0730f;}
.cmm-btn-primary:disabled{background:#f0c79b;border-color:#f0c79b;cursor:not-allowed;}
.cmm-done{padding:46px 28px 12px;text-align:center;display:none;}
.cmm-done.show{display:block;}
.cmm-done .cmm-check{width:64px;height:64px;border-radius:50%;background:#eafaf0;color:#21a35a;display:flex;align-items:center;justify-content:center;font-size:34px;margin:0 auto 16px;}
.cmm-done h2{margin:0 0 8px;font-size:21px;font-weight:900;}
.cmm-done p{margin:0;color:#777;font-size:14px;}
@media (max-width:520px){
  .cmm-overlay{padding:0;align-items:flex-end;}
  .cmm-modal{max-width:none;border-radius:18px 18px 0 0;max-height:94vh;}
}
