@charset "utf-8";

/* base */
body {
  font-size: 17rem;
  word-break: keep-all;
  font-weight: 400;
}
.wrap {
  width: 1400rem;
  margin: 0 auto;
}
.area_all_menu {
  display: none;
}

:root {
  --color-point: #00b79a;
}

/* common */
.list_bullet > li {
  position: relative;
  padding-left: 15rem;
  word-break: keep-all;
  text-align: left;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.list_bullet > li + li {
  margin-top: 12rem;
}
.list_bullet > li::before {
  content: "";
  display: inline-block;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background-color: #b9b6b5;
  position: absolute;
  top: 13px;
  left: 0;
}
.list_bullet > li strong {
  /* padding-right: 60rem; */
  width: 80%;
  font-weight: 500;
}
.list_bullet > li span {
  display: block;
  letter-spacing: -0.02em;
  color: #999;
}

/* header */
#header {
  position: absolute;
  z-index: 998;
  top: 0;
  left: 0;
  width: 100%;
  transition: all 0.9s cubic-bezier(0.165, 0.84, 0.44, 1);
  border-bottom: 1px solid #ffffff26;
}
#header:hover {
  background: #0000008a;
}
#header h1 {
  margin: 0;
  line-height: 0;
  z-index: 9999;
}
#header h1 a {
  display: inline-block;
}
#header h1 img {
  height: 39rem;
}
#header > .inner {
  transition: all 0.4s ease 0s;
}
#header > .inner h1 {
  text-align: center;
  margin-top: 20px;
}

#header .btn_menu {
  display: none;
}
#header .btn_menu {
  z-index: 9999;
  font-size: 0rem;
  transition: all 0.3s ease 0s;
  width: 27rem;
  height: 18rem;
  position: relative;
}
#header .btn_menu > span,
#header .btn_sitemap > span {
  display: block;
  position: absolute;
  left: 0rem;
  width: 100%;
  height: 2rem;
  background: #fff;
}
#header .btn_menu > span:nth-of-type(1) {
  top: 0;
}
#header .btn_menu > span:nth-of-type(2) {
  top: 50%;
  transition: background 0.3s ease 0s;
}
#header .btn_menu > span:nth-of-type(3) {
  top: 17rem;
}
#header .btn_menu > span:nth-of-type(1),
#header .btn_menu > span:nth-of-type(3) {
  transition: all 0.3s ease;
  transition-property: top, transform;
  transition-delay: 0.3s, 0s;
}
#header .btn_menu.active {
  position: fixed;
  top: 35rem;
  right: 35rem;
  transform: rotate(180deg);
}
#header .btn_menu.active > span:nth-of-type(1) {
  top: 10rem;
  transform: rotate(-45deg);
}
#header .btn_menu.active > span:nth-of-type(2) {
  background: transparent;
}
#header .btn_menu.active > span:nth-of-type(3) {
  top: 10rem;
  transform: rotate(45deg);
}
#header .btn_menu.active > span:nth-of-type(1),
#header .btn_menu.active > span:nth-of-type(3) {
  transition-delay: 0s, 0.3s;
}
#header .btn_close {
  position: fixed;
  opacity: 0;
  visibility: hidden;
  top: 0rem;
  left: 0rem;
  z-index: 99;
  width: -webkit-calc(100% - 320rem);
  width: 100%;
  height: -webkit-calc(100vh - -0rem * 1);
  height: calc(100vh - -0rem * 1);
  background: #000;
  font-size: 0;
  transition: all 0.3s ease-out 0s;
}

.active #header .btn_close {
  opacity: 0.4;
  visibility: visible;
}
#header.mob .inner {
  justify-content: space-between; /* padding: 0 30rem; */
  height: 75.5rem;
}

#header nav {
  width: 1400rem;
}
#header nav .gnb {
  text-align: center;
  display: flex;
  align-items: center;
}
#header nav .gnb > li {
  display: inline-block;
  position: relative; /*padding: 0 23rem;*/
  transition: 0.5s;
  width: 19%;
}
#header nav .gnb > li:last-child:after {
  background: none;
}
#header.web nav .gnb > li > a {
  display: inline-block;
  font-size: 17rem;
  color: #fff;
  font-weight: 400;
  line-height: 1.5;
  position: relative;
  padding: 23rem 0;
}
#header.web nav .gnb > li > a.on {
  border-bottom: 3px solid #099784;
}
#header.on {
}
#header.on > .inner {
  /*padding: 0 30rem;*/
  height: 75.5rem;
}
#header.on nav {
  color: #222;
}

#header.on .btn_sitemap > span {
  background: #000 !important;
}
#header.on.short .inner {
  padding: 17rem 0;
}
#header.on.short h1 a {
  width: 54rem;
  height: 54rem;
}
/*#header.on img:last-child {filter: invert(100%);}*/
#header img.logo_black {
  display: block;
}
#header.on .util_member,
#header.on .util_member a {
  color: #222;
  font-weight: 300;
}
#header.on .util_member a:last-child::before {
  background-color: #aaa;
}
.ani_on #header {
  top: 0;
}

.util_member,
.util_member a {
  color: #fff;
  font-weight: 100;
  font-size: 15rem;
  display: inline-block;
}
.util_member a {
  padding-left: 10rem;
  margin-left: 10rem;
  position: relative;
}
.util_member a:last-child::before {
  content: "";
  display: inline-block;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background-color: #fff;
  position: absolute;
  left: -3rem;
  top: 12rem;
}

/* footer */
#footer {
  padding-top: 0;
  overflow: hidden;
  width: 100%;
}
#footer .footer_inn {
  background-color: #393846;
  padding: 40rem 0;
  color: #fff;
  z-index: 1;
  font-size: 13rem;
}
#footer .footer_inn .wrap {
  position: relative;
}
#footer > div {
  position: relative;
  display: flex;
  align-items: center;
  overflow: inherit;
}
#footer address {
  width: 100%;
}
#footer address ul {
  font-weight: 200;
  display: flex;
  flex-direction: column;
  font-size: 15rem;
}
#footer address ul li {
  position: relative;
}
#footer address ul li a {
  color: #fff;
}

@media (min-width: 2000px) {
  html {
    font-size: 0.05254860746190225vw;
  }
  body {
    font-size: 16px !important;
  }
}

@media (max-width: 1480px) {
  html {
    font-size: 0.06756756756756757vw;
  }
}

@media screen and (max-width: 1400px) {
  .wrap {
    width: calc(100% - 60rem);
    box-sizing: border-box;
  }
  #header nav .gnb > li {
    width: 16%;
  }
  #header.web nav .gnb > li > a {
    font-size: 15px;
  }
}

@media screen and (max-width: 1200px) {
  #header {
    position: fixed;
  }
  #header .btn_menu,
  #header .btn_close {
    display: inline-block;
  }
  #header.on .btn_menu > span {
    background: #222;
  }
  #header.on h1 a {
    display: none;
  }
  #header nav .gnb {
    display: block;
  }
  #header nav {
    position: fixed;
    top: 0px;
    right: -100%;
    z-index: 998;
    width: 100%;
    height: 100%;
    margin: 0;
    background: #434250;
    background: #434250 url(/images/main/bg_banner.jpg) center bottom no-repeat;
    background-size: cover;
  }
  #header nav.active {
    right: 0px;
    box-shadow: -5px 0px 15px rgba(0, 0, 0, 0.1);
    transition: all 0.5s ease-out 0s;
  }
  #header nav .gnb > li {
    display: block;
    padding: 0;
    width: 100%;
  }
  #header nav .gnb {
    position: absolute;
    top: 75rem;
    left: 0;
    overflow-y: auto;
    z-index: 999;
    width: 100%;
  }
  #header nav .gnb > li > a {
    display: block;
    padding: 10rem 0;
    font-size: 21rem;
    color: #fff;
    transition: all 0.3s ease 0s;
  }
  #header nav .gnb > li ul {
    display: none;
    padding: 0px 0 20px;
  }
  #header nav .gnb > li ul > li > a {
    display: block;
    padding: 0 0rem 4rem;
    color: #fff;
    font-size: 20rem;
    opacity: 0.6;
  }
  #header nav.active + .util_member {
    border-bottom: 0;
  }
  #header nav + .util_member a {
    display: none;
  }
  #header .btn_sitemap {
    display: none;
  }
  #header nav:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 50%;
  }

  #header .btn_menu {
    margin-left: auto;
  }
  #header nav + .util_member a {
    color: #fff;
    font-weight: 300;
  }
  #header nav.active + .util_member a:last-child::before {
    background-color: #aaa;
  }
  #header nav.active .gnb > li ul {
    background: none !important;
  }

  #header > .inner h1 {
    margin-top: 0;
    text-align: left;
  }
  #header > .inner {
    display: flex;
    align-items: center;
  }

  .commlist li p {
    font-size: 1.3em !important;
  }
  .commlist li h5 {
    font-size: 1.37em !important;
  }
}

@media all and (min-width: 1200px) {
  #header nav .gnb > li ul {
    display: none;
    position: absolute;
    opacity: 0;
    visibility: hidden;
    top: 70px;
    right: -20px;
    width: 100%;
    padding: 8px 17px;
    background: #0000008a;
    border: 0;
    box-shadow: 15px 20px 29px 0px rgba(0, 0, 0, 0.13);
    transition: all 0.4s ease-out;
    transition-property: opacity, top, visibility;
    transition-delay: 0s, 0s, 0s;
    border-radius: 15px;
  }
  #header nav .gnb > li ul.active {
    display: block;
    transition-delay: 0.1s;
  }
  #header nav .gnb > li.active ul {
    opacity: 1;
    visibility: visible;
    top: 90px;
    z-index: 10;
    transition-delay: 0s, 0s, 0s;
  }
  #header nav .gnb > li.active ul.t103 {
    top: 103px;
  }
  #header.web.on nav .gnb > li.active ul {
    top: 70px;
  }
  #header nav .gnb > li ul > li > a {
    display: block;
    position: relative;
    padding: 10px 0px; /* background:#fff; */
    border-top: 0;
    font-size: 15rem; /* color:#404040; */
    text-align: center;
    transition: all 0.3s ease 0s;
    color: #fff;
  }
  #header nav .gnb > li ul > li > a:hover {
    color: #22fbda;
  }
  #header nav .gnb > li ul > li:first-child > a {
    border-top-width: 0px;
  }
  a[data-link="call"] {
    cursor: auto;
    pointer-events: none;
  }
}

@media all and (max-width: 1023px) {
  html {
    font-size: 0.09775171065493645vw;
  }
  .btn_cicle:hover::after,
  #footer a.btn_cicle.org::after {
    width: 180rem;
    height: 180rem;
  }

  #footer a.btn_top {
    background: #c7c7c7 url(../images/common/btn_top.png) no-repeat center;
    width: 50px;
    height: 50px;
    border-radius: 60px;
    background-size: 100%;
    right: 20px;
    top: -20px;
  }
  #footer > div {
    display: inherit;
  }
  #footer .dokdo_area .circle1 {
    left: 156rem;
  }
  #footer .dokdo_area .circle2 {
    right: 301rem;
  }
  #footer .dokdo_area .circle1_1 {
    left: 175rem;
  }
  #footer .dokdo_area .circle2_1 {
    right: 320rem;
  }
  #footer .dokdo_area .tx1 {
    left: 160rem;
  }
  #footer .dokdo_area .tx2 {
    right: 308rem;
  }
  .sub #footer .btn_cicle {
    display: none;
  }
  #footer .dokdo_area {
    border-radius: 110rem 0 0 0;
  }

  img.btn_wa {
    top: 30rem;
    right: 200rem;
    left: auto;
  }
}

@media (max-width: 860px) {
  html {
    font-size: 0.13020833333333335vw;
  }
}

@media screen and (max-width: 767px) {
}

@media (max-width: 540px) {
  html {
    font-size: 0.26666666666666665vw;
  }
  .wrap {
    width: calc(100% - 40rem);
  }
  .btn_cicle:hover::after,
  #footer a.btn_cicle.org::after {
    width: 130rem;
    height: 130rem;
  }

  #header nav .gnb {
    top: 100rem;
  }
  #header.mob .inner {
    height: 55.5rem;
  }
  #header h1 img {
    height: 23rem;
  }
  .util_member {
    visibility: hidden;
    opacity: 0;
    right: 0;
    top: 55rem;
    text-align: center;
    padding: 30rem 0 0;
    transition: none;
    width: 90%;
    border-top: 1px solid #ffffff21;
    margin-top: 0rem;
    border-bottom: 1px dashed #ffffff40;
    margin: 0 5%;
    padding-bottom: 22rem;
  }
  #header nav + .util_member {
    right: -100%;
    z-index: 999999;
    position: absolute;
  }
  #header nav.active + .util_member {
    opacity: 1;
    visibility: visible;
    transition: all 0.5s ease-out 0s;
    right: 0%;
  }
  #header nav + .util_member > span {
    display: block;
    margin-bottom: 6rem;
    font-weight: 500;
  }
  #header .btn_menu.active {
    top: 20rem;
    right: 20rem;
  }
  #header nav + .util_member a {
    font-size: 12rem;
    border: 1rem solid #fff;
    padding: 4rem 21rem;
    border-radius: 20rem;
    margin: 0 2rem;
  }
  #header nav .gnb > li > a {
    font-size: 15rem;
  }
  #header nav.active + .util_member a:last-child::before {
    display: none;
  }
  #header nav .gnb > li ul > li > a {
    font-size: 13rem;
  }
  .commlist li h5 {
    font-size: 1em !important;
  }
  .commlist li p {
    font-size: 0.93em !important;
  }

  .list_bullet > li {
    padding-left: 10rem;
  }
  .list_bullet > li + li {
    margin-top: 7rem;
  }

  .sub #footer .dokdo_area {
    padding-top: 40rem;
  }

  #footer .footer_inn {
    padding: 40rem 0;
  }
  img.btn_wa {
    top: auto;
    right: auto;
    bottom: -90rem;
    left: 0rem;
    height: 70rem;
  }
}

@media all and (max-width: 360px) {
  body,
  p,
  li,
  a {
    font-size: 13rem;
  }
}
