@charset "UTF-8";
/* ----------------------------------------------
 * HanbitSoft Infra Development Team
 * 캐릭터미리보기 Stylesheet
 * Author - hsa815@hanbitsoft.co.kr 250917
 ------------------------------------------------- */
/* CSS Reset
-------------------------------------------------------------- */
html,
body,
div,
span,
h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
img,
strong,
small,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
select,
input,
button,
label {
  margin: 0;
  padding: 0;
  font-size: 100%;
}

img,
fieldset,
button {
  border: 0;
}

body,
input,
button,
textarea,
select,
table,
kbd {
  line-height: 1.2;
  font-family: Malgun Gothic, "맑은고딕", "돋움", dotum, Helvetica, sans-serif;
  font-size: 12px;
  color: #000;
}

img {
  vertical-align: middle;
}

ol,
ul {
  list-style: none;
}

button,
label {
  cursor: pointer;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  padding: 0;
  border: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption,
legend {
  width: 0;
  height: 0;
  font-size: 0;
  line-height: 0;
  text-indent: -9999px;
  visibility: hidden;
}

/* Reserved Class
-------------------------------------------------------------- */
.irPm {
  display: block;
  font-size: 0;
  line-height: 0;
  text-indent: -9999px;
  overflow: hidden;
}

.irWa {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  z-index: -1;
  overflow: hidden;
}

.blind {
  position: absolute;
  top: 0;
  left: -1000%;
  width: 1px;
  height: 1px;
  font-size: 0;
  line-height: 0;
  overflow: hidden;
}

.show {
  display: block;
}

.hide {
  display: none;
}

.fL {
  float: left;
}

.fR {
  float: right;
}

.clearFix {
  zoom: 1;
}

.clearFix:after {
  display: block;
  content: "";
  clear: both;
}

.cp-link {
  position: absolute;
  width: 58px;
  height: 28px;
}
.cp-link::after {
  content: "";
  display: block;
  position: relative;
  top: 100%;
  height: 1px;
  background: #989898;
}
.cp-link:hover::after {
  height: 0;
}

.link01 {
  top: 192px;
  left: 249px;
}

.link02 {
  width: 40px;
  top: 256px;
  left: 480px;
}

.link03 {
  top: 349px;
  left: 496px;
}

.link04 {
  width: 57px;
  top: 570px;
  left: 553px;
}

.link02::after,
.link04::after {
  background: #d198a2;
}

body {
  width: 100%;
  height: 100%;
  background: #fff;
}

#wrap {
  position: relative;
  width: 100%;
  min-width: 1200px;
  overflow: hidden;
}

.sp {
  display: inline-block;
  vertical-align: top;
  width: auto;
  height: 18px;
  line-height: 999px;
  background: url(../images/sp.png) no-repeat 0 0;
  overflow: hidden;
}

.cp-quick-menu {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateY(-72px);
  margin-left: -1000px;
  background: url(../images/quickmenu_bg.png) no-repeat 0 0;
  width: 2000px;
  height: 72px;
  z-index: 1000;
  transition: transform 0.7s ease-out;
}
.cp-quick-menu.view {
  transform: translateY(0);
}
.cp-quick-menu--list {
  position: absolute;
  top: 20px;
  left: 458px;
}
.cp-quick-menu--list li {
  position: relative;
  float: left;
  height: 16px;
  margin-left: 48px;
}
.cp-quick-menu--list li:first-child {
  margin-left: 0;
}
.cp-quick-menu--list li a {
  display: inline-block;
  height: inherit;
}
.cp-quick-menu__story {
  width: 52px;
}
.cp-quick-menu__character-info {
  width: 80px;
}
.cp-quick-menu__comment {
  width: 49px;
}
.cp-quick-menu__movie {
  width: 49px;
}
.cp-quick-menu__tochar {
  width: 78px;
}
.cp-quick-menu__screenshot {
  width: 65px;
}

.cp-main {
  background: #000 url(../images/main_bg.jpg) no-repeat center 0;
  height: 696px;
}
.cp-main--inner {
  position: relative;
  width: 1100px;
  height: 100%;
  margin: 0 auto;
}

.cp-story {
  position: relative;
  background: #000 url(../images/story_bg.jpg) no-repeat center 0;
  height: 1152px;
}
.cp-story--inner {
  position: relative;
  width: 1100px;
  height: 100%;
  margin: 0 auto;
}
.cp-story__dot {
  position: absolute;
  top: 73px;
  left: 425px;
  display: block;
  width: 25px;
  height: 6px;
  border-radius: 3px;
  background: #53597d;
}
.cp-story__txt--title {
  position: absolute;
  top: 92px;
  left: 425px;
  width: 72px;
  height: 26px;
  background-position: 0 0;
}
.cp-story__txt--contents {
  position: absolute;
  top: 152px;
  left: 425px;
  background: url(../images/story.png) no-repeat center 0;
  width: 620px;
  height: 908px;
}
.cp-story__btn--wrap {
  position: absolute;
  top: 219px;
  left: 123px;
  background: url(../images/quick_story.png) no-repeat;
  width: 199px;
  height: 202px;
}
.cp-story__btn--wrap:hover {
  animation: vibe 600ms linear forwards;
}
.cp-story__btn--born {
  position: absolute;
  top: 117px;
  left: 68px;
  width: 65px;
  height: 22px;
  line-height: 999px;
  background: transparent;
}

.cp-story2 {
  position: relative;
  background: #000 url(../images/story2_bg.jpg) no-repeat center 0;
  height: 482px;
}
.cp-story2__txt--contents {
  position: absolute;
  top: 90px;
  left: 50%;
  transform: translateX(-50%);
  background: url(../images/story2.png) no-repeat center 0;
  width: 316px;
  height: 296px;
}

.cp-description {
  position: relative;
  background: #b9b9b9 url(../images/description_bg.jpg) no-repeat center 0;
  height: 848px;
}
.cp-description--inner {
  position: relative;
  width: 1100px;
  height: 100%;
  margin: 0 auto;
}
.cp-description__txt--contents {
  position: absolute;
  top: 0;
  left: 0;
  background: url(../images/description.png) no-repeat 0 0;
  width: 1100px;
  height: 100%;
  display: none;
}
.cp-description__link {
  position: absolute;
  top: 280px;
  left: 242px;
  width: 106px;
  height: 30px;
  overflow: hidden;
}
.cp-description__link:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(74, 36, 88, 0.6);
  transform: translateY(94%);
  transition: transform 0.2s cubic-bezier(1, 0.05, 0.42, 1.12);
}
.cp-description__link:hover:before {
  transform: translateY(0);
}
.cp-description__link2 {
  top: 160px;
  left: 263px;
  width: 90px;
}
.cp-description__link2:before {
  background-color: rgba(69, 75, 106, 0.6);
}

.cp-info {
  position: relative;
  background: #000 url(../images/info_bg.jpg) no-repeat center 0;
  height: 963px;
}
.cp-info--inner {
  position: relative;
  width: 1100px;
  height: 100%;
  margin: 0 auto;
}
.cp-info__dot {
  position: absolute;
  z-index: 150;
  top: 127px;
  left: 535px;
  display: block;
  width: 25px;
  height: 6px;
  border-radius: 3px;
  background: #554031;
}
.cp-info__txt--title {
  position: absolute;
  top: 147px;
  left: 535px;
  width: 130px;
  height: 26px;
  background-position: 0px -30px;
  z-index: 150;
}
.cp-info__txt--desc {
  position: absolute;
  top: 550px;
  left: 537px;
  background: url(../images/info_txt.png) no-repeat 0 0;
  width: 321px;
  height: 274px;
  z-index: 150;
}

.cp-progress-bar {
  position: absolute;
  top: 212px;
  left: 488px;
  background: url(../images/progress_bg.png) no-repeat 0 0;
  width: 557px;
  height: 299px;
  z-index: 150;
}
.cp-progress-bar--list {
  padding: 21px 10px 0 48px;
}
.cp-progress-bar__stick {
  width: 0;
  height: 30px;
  margin-top: 10px;
  background: #c9c9c9;
}
.cp-progress-bar__stick.best {
  background: #5b5290;
}
.cp-progress-bar__stick.best.best .cp-progress-bar__stick--value {
  color: #333333;
  font-weight: bold;
}
.cp-progress-bar__stick--value {
  margin-left: 10px;
  line-height: 30px;
  color: #333333;
  font-size: 14px;
  font-family: Malgun Gothic, "맑은고딕", "돋움", dotum, Helvetica, "Apple SD Gothic Neo", sans-serif;
}

.cp-profile {
  position: relative;
  background: #242424;
}
.cp-profile--title {
  height: 100px;
  background: #2d2d2d;
  text-align: center;
}
.cp-profile__title {
  display: inline-block;
  width: 173px;
  height: 24px;
  margin-top: 26px;
  background-position: -274px -112px;
}
.cp-profile__btn--toggle {
  position: absolute;
  top: 76px;
  left: 50%;
  margin-left: -147px;
  width: 295px;
  height: 24px;
  background-position: 0 -86px;
}
.cp-profile__btn--toggle.open {
  background-position: 0 -60px;
}

.cp-screenshot {
  position: relative;
  background: #000 url(../images/screen_bg.jpg) no-repeat 50% center;
  height: 878px;
}
.cp-screenshot--inner {
  position: relative;
  width: 1100px;
  height: 100%;
  margin: 0 auto;
}
.cp-screenshot__dot {
  display: block;
  position: absolute;
  top: 93px;
  left: 91px;
  width: 25px;
  height: 6px;
  border-radius: 3px;
  background: #5d567a;
}
.cp-screenshot__txt--title {
  position: absolute;
  top: 114px;
  left: 91px;
  width: 104px;
  height: 24px;
  background-position: 0 -64px;
}

.cp-slider {
  position: absolute;
  top: 160px;
  left: 91px;
  width: 890px;
  height: 529px;
  border: 14px solid #564f79;
  background: #564f79;
  border-bottom-width: 17px;
  overflow: hidden;
}
.cp-slider--list {
  position: absolute;
  top: 0;
  left: 0;
}
.cp-slider--list li {
  float: left;
  width: 890px;
  height: 500px;
  background: #564f79;
  overflow: hidden;
}
.cp-slider--list li img {
  width: 890px;
  height: 500px;
}
.cp-slider--dimmed {
  position: absolute;
  bottom: -14px;
  left: 0;
  width: 100%;
  height: 43px;
  background: #564f79;
}
.cp-slider--controller {
  position: absolute;
  z-index: 100;
  top: 510px;
  left: 363px;
}
.cp-slider__btn--first {
  float: left;
  width: 14px;
  height: 16px;
  margin-top: 4px;
  background-position: 0 -99px;
}
.cp-slider__btn--prev {
  float: left;
  margin: 4px 0 0 15px;
  width: 8px;
  height: 16px;
  background-position: -16px -99px;
}
.cp-slider__btn--next {
  float: left;
  margin: 4px 15px 0 0;
  width: 8px;
  height: 16px;
  background-position: -28px -99px;
}
.cp-slider__btn--end {
  float: left;
  margin-top: 4px;
  width: 14px;
  height: 16px;
  background-position: -39px -99px;
}
.cp-slider__number {
  display: inline-block;
  float: left;
  z-index: 10;
  width: 82px;
  margin: 0 10px;
  color: #fff;
  text-align: center;
  word-spacing: -3px;
  font-size: 20px;
  font-weight: bold;
  font-style: italic;
  font-family: Bodoni MT, Malgun Gothic, "맑은고딕", "돋움", dotum, Helvetica, "Apple SD Gothic Neo", sans-serif;
  line-height: 1
}

.cp__btn--top {
  display: none;
  position: fixed;
  z-index: 151;
  right: 70px;
  bottom: 30px;
  width: 88px;
  height: 89px;
  font-size: 0;
  background: url(../images/top_btn.png);
}
.cp__btn--top:hover {
  transform-origin: 50% 100%;
  animation: vibe 600ms linear forwards;
}

.cp-copyright {
  position: relative;
  background: #000 url(../images/copyright.jpg) no-repeat center 0;
  height: 91px;
}

@keyframes vibe {
  0% {
    transform: scale(1, 1);
  }
  20% {
    transform: scale(0.97, 1.03);
  }
  40% {
    transform: scale(1.03, 0.97);
  }
  60% {
    transform: scale(0.97, 1.03);
  }
  80% {
    transform: scale(1.03, 0.97);
  }
  100% {
    transform: scale(1, 1);
  }
}/*# sourceMappingURL=index.css.map */