@charset "UTF-8";
/*------------------------*/
.spacing-64 {
  position: static;
  display: block;
  width: 100%;
  height: 64px;
}

/*------------------------*/
.breadcrumb-wrap {
  width: 100%;
  display: flex;
  font-size: 14px;
  align-items: center;
}
.breadcrumb-wrap .level {
  display: inline-block;
  margin-left: 22px;
  position: relative;
  color: var(--gray-500);
}
.breadcrumb-wrap .level:before {
  content: "";
  display: block;
  position: absolute;
  width: 10px;
  height: 16px;
  left: -16px;
  top: 0px;
  background-size: cover;
  background-image: url("../../images/common/breadcrumb_divide.svg");
}
.breadcrumb-wrap .level.level-first {
  text-transform: uppercase;
  font-weight: bold;
}

@media (max-width: 1024px) {
  .breadcrumb-wrap {
    display: none;
  }
}
/*------------------------*/
.btn-tag {
  display: inline-block;
  padding: 10px 18px;
  font-size: 14px;
  color: var(--gray-700);
  font-weight: regular;
  border: 1px solid var(--gray-300);
  border-radius: 40px;
}
.btn-tag:hover {
  border: 1px solid var(--gray-300);
  background-color: var(--gray-50);
}
.btn-tag span::before {
  content: "#";
}
.btn-tag.active {
  background-color: var(--gray-800);
  border: 1px solid transparent;
  color: white;
}

@media (max-width: 640px) {
  .btn-tag {
    font-size: 12px;
    padding: 8px 12px;
  }
}
.btn-normal {
  min-width: 72px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 24px;
  border: 1px solid var(--gray-600);
  font-weight: bold;
  border-radius: 25px;
  gap: 8px;
  transition: background-color 0.3s;
}
.btn-normal:hover {
  background-color: var(--gray-800);
  color: white;
}
.btn-normal:hover path {
  stroke: white;
}
.btn-normal:hover img {
  filter: invert(1) brightness(10);
}

@media (max-width: 640px) {
  .btn-normal {
    min-width: auto;
    height: 40px;
    font-size: 14px;
    padding: 8px 16px;
    gap: 4px;
  }
  .btn-normal > img, .btn-normal svg {
    width: 16px;
    height: 16px;
  }
}
.btn-more-bar {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 100px;
  margin-top: 80px;
}

.btn-pink-line {
  background-color: white;
  font-weight: bold;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border: 1px solid var(--pink-500);
  color: var(--gray-800);
  height: 68px;
  width: 224px;
  padding: 8px 16px;
  border-radius: 40px;
}
.btn-pink-line > span {
  padding-left: 18px;
  font-size: 18px;
}
.btn-pink-line > svg {
  margin-right: 8px;
}

.btn-page-top {
  position: fixed;
  width: 48px;
  height: 48px;
  background-color: white;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid var(--gray-300);
  transition: opacity 0.3s;
  z-index: 100;
  right: 16px;
  bottom: 32px;
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
}
.btn-page-top.active {
  opacity: 1;
  pointer-events: all;
}
.btn-page-top.active:hover {
  background-color: var(--gray-800);
  border: 0px;
}
.btn-page-top.active:hover img {
  filter: invert(1) brightness(10);
}
.btn-page-top.active:hover > svg path {
  stroke: white;
}

@media screen and (max-width: 768px) {
  .btn-page-top {
    display: none;
  }
  .btn-more-bar {
    margin-bottom: 40px;
    margin-top: 0px;
  }
}
.btn-dark-big {
  background-color: var(--gray-800);
  font-weight: bold;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: white;
  transition: background-color 0.2s;
  height: 62px;
  width: 210px;
  padding: 8px 16px;
  border-radius: 40px;
}
.btn-dark-big > span {
  padding-left: 18px;
  font-size: 16px;
}
.btn-dark-big > img, .btn-dark-big svg {
  margin-right: 8px;
}
.btn-dark-big:hover {
  background-color: var(--pink-400);
}

@media (max-width: 640px) {
  .btn-dark-big {
    height: 54px;
    width: 180px;
    padding: 8px 16px;
  }
}
/*------------------------*/
.full-card-wrap {
  position: relative;
  width: 100%;
  padding: 0 24px;
  max-width: 1498px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px;
}
.full-card-wrap > .card {
  position: relative;
  min-height: 200px;
  padding-top: 63%;
  overflow: hidden;
  background-color: var(--gray-200);
}
.full-card-wrap > .card .thumbnail-wrap {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.full-card-wrap > .card .thumbnail-wrap > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: all 0.3s;
}
.full-card-wrap > .card .thumbnail-wrap:after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.1) 20%, rgba(0, 0, 0, 0.5) 75%);
}
.full-card-wrap > .card .card-body-wrap {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  bottom: 0;
}
.full-card-wrap > .card .card-body-wrap > .card-body-inner {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 0 28px;
  color: white;
  word-break: keep-all;
}
.full-card-wrap > .card .card-body-wrap > .card-body-inner .card-title {
  margin: 0 0 24px 0;
  font-weight: bold;
  width: 85%;
  font-size: 24px;
  line-height: 1.25em;
  word-break: keep-all;
}
.full-card-wrap > .card:hover .thumbnail-wrap > img {
  transform: scale(1.05);
  filter: brightness(0.9);
}
.full-card-wrap .card-big-wrap {
  position: relative;
  grid-column: span 2;
  grid-row: span 2;
}
.full-card-wrap .card-big-wrap .card-body-wrap > .card-body-inner {
  padding: 0 40px 16px 40px;
}
.full-card-wrap .card-big-wrap .card-body-wrap > .card-body-inner .card-title {
  font-size: 24px;
  line-height: 1.2em;
}

.full-card-wrap .card-slogan {
  background: linear-gradient(60deg, #f79533, #f37055, #ef4e7b, #a166ab, #5073b8, #1098ad, #07b39b, #6fba82);
  background-size: 400% 400%;
  animation: gradient 10s ease infinite;
}
.full-card-wrap .card-slogan .card-body-wrap > .card-body-inner {
  justify-content: start;
  bottom: auto;
  top: 0;
}
.full-card-wrap .card-slogan .card-body-wrap > .card-body-inner .card-slogan-title {
  font-weight: bold;
  line-height: 1.2em;
  letter-spacing: -0.03em;
  padding: 0 4px;
  font-size: 28px;
}
.full-card-wrap .card-slogan .card-body-wrap > .card-body-inner .card-slogan-title.small {
  font-size: 28px;
}
.full-card-wrap .card-slogan .card-body-wrap > .card-body-inner .card-slogan-title .bullet {
  width: 32px;
  height: 32px;
  background-color: white;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 12px;
}
.full-card-wrap .card-slogan .card-body-wrap > .card-body-inner > button, .full-card-wrap .card-slogan .card-body-wrap > .card-body-inner .card-slogan-btn {
  font-size: 18px;
  font-weight: bold;
  color: white;
  display: flex;
  align-items: center;
  gap: 8px;
  position: absolute;
  bottom: 32px;
  right: 32px;
}
.full-card-wrap.title-hidden > .card .card-body-wrap {
  opacity: 0;
  transition: opacity 0.4s;
}
.full-card-wrap.title-hidden > .card .thumbnail-wrap:after {
  opacity: 0;
  transition: opacity 0.4s;
}
.full-card-wrap.title-hidden > .card:hover .card-body-wrap {
  opacity: 1;
}
.full-card-wrap.title-hidden > .card:hover .thumbnail-wrap > img {
  transform: scale(1.05);
  filter: brightness(0.9);
}
.full-card-wrap.title-hidden > .card:hover .thumbnail-wrap:after {
  opacity: 1;
}
.full-card-wrap.title-hidden .card-big-wrap .card-body-wrap {
  opacity: 1;
}
.full-card-wrap.title-hidden .card-big-wrap .thumbnail-wrap:after {
  opacity: 1;
}
.full-card-wrap.title-hidden .card-slogan .card-body-wrap {
  opacity: 1;
}

@media (max-width: 1024px) {
  .full-card-wrap {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 0 12px;
  }
  .full-card-wrap > .card {
    min-height: 250px;
  }
  .full-card-wrap > .card .card-body-wrap > .card-body-inner {
    padding: 0 20px;
  }
  .full-card-wrap > .card .card-body-wrap > .card-body-inner .card-title {
    margin: 0 0 20px 0;
    width: 90%;
    font-size: 20px;
    line-height: 1.15em;
  }
  .full-card-wrap .card-big-wrap .card-body-wrap > .card-body-inner {
    padding: 0 24px;
  }
  .full-card-wrap .card-big-wrap .card-body-wrap > .card-body-inner .card-title {
    margin: 0 0 20px 0;
    font-size: 20px;
  }
  .full-card-wrap .card-big-wrap.card-pp .card-body-wrap > .card-body-inner {
    padding: 0 32px 0 20px;
  }
  .full-card-wrap .card-big-wrap.card-pp .card-body-wrap > .card-body-inner .card-title {
    margin: 0 0 20px 0;
    font-size: 24px;
  }
  .full-card-wrap .card-slogan .card-body-wrap > .card-body-inner .card-slogan-title {
    line-height: 1.2em;
    padding: 0;
    font-size: 24px;
  }
  .full-card-wrap .card-slogan .card-body-wrap > .card-body-inner .card-slogan-title.small {
    font-size: 24px;
  }
  .full-card-wrap .card-slogan .card-body-wrap > .card-body-inner > button, .full-card-wrap .card-slogan .card-body-wrap > .card-body-inner .card-slogan-btn {
    bottom: 24px;
    right: 20px;
  }
}
@keyframes gradient {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
/*------------------------*/
.sorting-bar {
  position: relative;
  width: 100%;
  background-color: white;
  max-width: 1498px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  padding: 16px 24px;
  align-items: center;
  margin-bottom: 8px;
  color: var(--gray-500);
}
.sorting-bar .sorting-right {
  position: relative;
  display: flex;
  gap: 16px;
}
.sorting-bar .sorting-right .btn-sorting {
  font-size: 16px;
  color: var(--gray-400);
}
.sorting-bar .sorting-right .btn-sorting.active {
  font-weight: bold;
  color: var(--gray-800);
}
.sorting-bar .sorting-right > .divider {
  color: var(--gray-200);
  margin: 0 4px;
  display: none;
}
.sorting-bar .sorting-left {
  font-size: 14px;
}
.sorting-bar .sorting-left > .num {
  font-weight: bold;
  color: var(--gray-800);
}

.filter-bar {
  display: block;
  position: relative;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: var(--gray-500);
}
.filter-bar .partial-left, .filter-bar .partial-right {
  display: flex;
  gap: 16px;
}

@media (max-width: 640px) {
  .sorting-bar {
    padding: 12px 16px;
  }
  .sorting-bar .btn-sorting {
    font-size: 12px;
  }
  .filter-bar {
    flex-wrap: wrap;
  }
  .filter-bar .partial-left {
    width: 100%;
  }
  .filter-bar .partial-left > #filter-work-year {
    width: 40%;
  }
  .filter-bar .partial-left > #filter-work-category {
    width: 50%;
  }
  .filter-bar .partial-right {
    padding-top: 20px;
  }
}
/*------------------------*/
.canvas {
  position: absolute;
}
.canvas.canvas-head {
  width: 1000px;
  height: 800px;
  z-index: -1;
  top: 0;
  right: 0;
}
.canvas.canvas-head .circle {
  position: absolute;
  display: block;
  width: 10vw;
  height: 10vw;
  border-radius: 50%;
  background-color: #FFE500;
  top: 250px;
  right: 200px;
}
.canvas.canvas-head .circle.light-sky {
  right: -50px;
  background-color: #00FFFF;
  mix-blend-mode: multiply;
}

/*------------------------*/
.cover-pict {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 2;
  top: 0;
  left: 0;
  transform-origin: top left;
  background-color: #FFE500;
  mix-blend-mode: screen;
}
.cover-pict .cover-blue {
  display: block;
  position: absolute;
  width: 35%;
  height: 100%;
  top: 0;
  right: 0;
  transform-origin: top left;
  background-color: #00FFFF;
}

/* Layout Container -----------------*/
.section-row-wrap {
  position: static;
  width: 100%;
}

.section-title-level2 {
  display: inline-block;
  padding: 100px 0 0 0;
  position: relative;
}
.section-title-level2 > h3 {
  font-weight: bold;
  margin: 0;
  font-size: 32px;
  line-height: 1.33em;
}
.section-title-level2.insight-list {
  padding: 0 0 0 12px;
}
.section-title-level2.insight-list::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 2px;
  height: 32px;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  border-left: 2px solid var(--gray-800);
}
.section-title-level2.insight-list-1 {
  margin-top: 100px;
}

.section-title-level3 {
  display: inline-block;
  padding: 56px 0 0 0;
}
.section-title-level3 > h3 {
  font-weight: bold;
  margin: 0;
  font-size: 32px;
}
.section-title-level3 > .num {
  color: var(--gray-500);
  font-size: 24px;
  padding: 0 4px;
}

@media (max-width: 768px) {
  .section-title-level2 > h3 {
    font-size: 28px;
  }
  .section-title-level3 {
    padding: 40px 0 0 0;
  }
  .section-title-level3 > h3 {
    font-size: 24px;
  }
}
@media (max-width: 480px) {
  .section-title-level2 {
    padding: 40px 0 0 0;
  }
  .section-title-level2 > h3 {
    font-size: 20px;
  }
  .section-title-level2.insight-list {
    padding: 0 0 0 12px;
  }
  .section-title-level2.insight-list::before {
    height: 20px;
  }
  .section-title-level2.insight-list-1 {
    margin-top: 50px;
  }
  .section-title-level3 {
    padding: 40px 0 0 0;
  }
  .section-title-level3 > h3 {
    font-size: 20px;
  }
}
/* Cards Layout -----------------*/
.card-row-container {
  position: relative;
  width: 100%;
  overflow: hidden;
  margin: 48px 0;
  padding-left: calc(50% - 725px);
}
.card-row-container.no-padding {
  padding-left: 0;
}
.card-row-container.related-swiper {
  max-width: 1450px;
  position: relative;
  margin: 48px auto 48px auto;
  padding-left: 0;
}

.insight-people-swiper {
  position: relative;
  width: 100%;
  overflow: hidden;
  margin: 40px auto 0px auto;
  max-width: 1450px;
  padding: 0 0;
}
.insight-people-swiper .btn-row-swiper-prev, .insight-people-swiper .btn-row-swiper-next {
  top: 50%;
}
.insight-people-swiper .card-basic {
  margin-bottom: 0;
}

.related-swiper {
  max-width: 1450px;
  position: relative;
  margin: 48px auto 48px auto;
  padding-left: 0;
  overflow: hidden;
}

.card-grid-container {
  position: relative;
  width: 100%;
  margin: 40px 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 38px;
  row-gap: 40px;
}
.card-grid-container .card-basic {
  max-width: none;
}
.card-grid-container.insight-list > .card-basic {
  margin-bottom: 0;
}

@media (max-width: 1440px) {
  .card-grid-container {
    gap: 32px;
  }
  .insight-people-swiper {
    padding: 0 40px 0 40px;
  }
}
@media (max-width: 1024px) {
  .card-grid-container {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }
}
@media (max-width: 768px) {
  .card-row-container {
    padding-left: 24px;
    margin: 32px 0;
  }
  .insight-people-swiper {
    padding: 0 0 0 20px;
    margin: 24px auto 0px auto;
  }
  .insight-people-swiper .card-basic {
    margin-bottom: 0px;
  }
  .card-grid-container {
    margin: 24px 0;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
  .related-swiper {
    padding: 0 24px;
  }
}
@media (max-width: 480px) {
  .card-grid-container {
    margin: 24px 0;
    grid-template-columns: repeat(1, 1fr);
    gap: 0px;
  }
  .card-grid-container.insight-list {
    gap: 32px;
  }
}
.btn-row-swiper-next, .btn-row-swiper-prev {
  position: absolute;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  margin: auto;
  top: 25%;
  z-index: 10;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  background-color: rgba(0, 0, 0, 0.35);
  background-image: url(../../images/common/icon_arrow_right_white_32.svg);
  background-size: 20px;
  background-position: center;
  background-repeat: no-repeat;
}
.btn-row-swiper-next > svg, .btn-row-swiper-prev > svg {
  width: 20px;
  height: 20px;
}
.btn-row-swiper-next:hover, .btn-row-swiper-prev:hover {
  background-color: rgba(0, 0, 0, 0.7);
}
.btn-row-swiper-next.swiper-button-disabled, .btn-row-swiper-prev.swiper-button-disabled {
  opacity: 0;
}

.btn-row-swiper-next {
  right: 12px;
}

.btn-row-swiper-prev {
  left: 12px;
  transform: rotate(180deg);
}

@media (max-width: 768px) {
  .btn-row-swiper-next, .btn-row-swiper-prev {
    display: none;
  }
}
/* Basic Card -----------------*/
.card-basic {
  position: relative;
  width: 100%;
  max-width: 334px;
  margin-bottom: 40px;
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  overflow: hidden;
  background-color: white;
  cursor: pointer;
}
.card-basic:hover .thumbnail::after {
  opacity: 0.6;
}
.card-basic:hover .thumbnail > img {
  transform: scale(1.05);
}
.card-basic.big {
  max-width: 458px;
}
.card-basic.big .thumbnail {
  padding-top: 95%;
}
.card-basic.big .card-body > .title {
  font-size: 24px;
}
.card-basic.big .card-body > .detail-info {
  font-size: 16px;
}
.card-basic .thumbnail {
  display: block;
  position: relative;
  width: 100%;
  overflow: hidden;
  object-fit: cover;
  object-position: center;
  background-color: gray;
  padding-top: 72%;
}
.card-basic .thumbnail::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  opacity: 0;
  mix-blend-mode: screen;
  background-color: white;
  transition: opacity 0.3s;
}
.card-basic .thumbnail > img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  object-position: center;
  object-fit: cover;
  transition: transform 0.3s;
}
.card-basic .card-body {
  display: block;
  width: 100%;
  margin: 0;
  padding-top: 16px;
  display: flex;
  flex-direction: column;
  word-break: keep-all;
  min-height: 56px;
}
.card-basic .card-body > .title {
  padding: 0;
  margin: 0;
  line-height: 1.3em;
  color: var(--gray-800);
  font-size: 20px;
  letter-spacing: -0.025em;
}
.card-basic .card-body > .detail-info {
  padding: 0;
  margin: 0 0;
  line-height: 1.25em;
  color: var(--gray-400);
  font-size: 15px;
  letter-spacing: -0.025em;
}
.card-basic .card-insight-upper {
  border: 1px solid var(--gray-200);
  padding: 24px 20px 20px 20px;
  height: 140px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-bottom: transparent;
}
.card-basic .card-insight-upper .card-body-headline {
  display: block;
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}
.card-basic .card-insight-upper .card-body-headline > h4 {
  font-size: 20px;
  color: var(--gray-800);
  margin-bottom: 24px;
  line-height: 1.33em;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  margin: 0;
}
.card-basic .card-insight-upper > .detail-info {
  color: var(--gray-400);
  margin: 24px 0 0 0;
  font-weight: normal;
}
.card-basic.ratio-16x9 .thumbnail {
  padding-top: 62%;
}
.card-basic.ratio-16x9 .card-body > .title {
  font-size: 20px;
}
.card-basic.ratio-16x9 .card-body > .detail-info {
  font-size: 20px;
  margin-top: 20px;
}
.card-basic .icon-read-mark {
  display: block;
  width: 32px;
  height: 32px;
  position: absolute;
  z-index: 2;
  right: 0;
  top: 0;
  background-size: cover;
  background-image: url("../../images/common/icon_read_mark.svg");
}
.card-basic .thumbnail.icon-video::before {
  content: "";
  display: block;
  width: 64px;
  height: 64px;
  position: absolute;
  z-index: 2;
  left: 20px;
  bottom: 20px;
  background-size: cover;
  background-image: url("../../images/common/icon_video_32.svg");
}

@media (max-width: 1024px) {
  .card-basic .card-body > .title {
    font-size: 18px;
  }
  .card-basic .card-body > .detail-info {
    font-size: 14px;
  }
  .card-basic .card-body-headline {
    height: 110px;
    padding: 0;
  }
  .card-basic .card-body-headline > h4 {
    font-size: 24px;
  }
}
@media (max-width: 768px) {
  .card-basic .thumbnail {
    padding-top: 65%;
  }
  .card-basic .card-body {
    padding-top: 12px;
  }
  .card-basic .card-body > .title {
    font-size: 16px;
  }
  .card-basic .card-body > .detail-info {
    font-size: 14px;
  }
  .card-basic.big .card-body > .title {
    font-size: 18px;
  }
  .card-basic.big .card-body > .detail-info {
    font-size: 15px;
  }
  .card-basic .card-insight-upper {
    padding: 20px 20px 20px 20px;
    height: 130px;
  }
  .card-basic .card-insight-upper .card-body-headline > h4 {
    font-size: 18px;
  }
  .card-basic .card-insight-upper > .detail-info {
    font-size: 14px;
  }
  .card-basic.ratio-16x9 .card-body > .title {
    font-size: 18px;
  }
  .card-basic.ratio-16x9 .card-body > .detail-info {
    font-size: 16px;
    margin-top: 12px;
  }
  .related-swiper {
    margin-top: 30px;
  }
  .related-swiper .card-basic {
    margin-bottom: 0;
  }
}
@media (max-width: 480px) {
  .card-basic {
    max-width: 100%;
  }
  .card-basic .card-body {
    padding-top: 12px;
  }
  .card-basic .card-body > .title {
    font-size: 18px;
  }
  .card-basic .card-body > .detail-info {
    font-size: 14px;
  }
  .card-basic .card-body-headline {
    height: 70px;
    padding: 0;
  }
  .card-basic .card-body-headline > h4 {
    font-size: 18px;
    margin: 0;
    line-height: 1.2em;
  }
  .card-basic .thumbnail.icon-video::before {
    width: 40px;
    height: 40px;
    left: 16px;
    bottom: 16px;
  }
}
/*Custom Select --------*/
.select-simple {
  display: flex;
  min-width: 120px;
  height: 48px;
  font-weight: 500;
  justify-content: space-between;
  align-items: center;
  padding: 0 8px;
  color: var(--gray-800);
  background-color: white;
}

.btn-text {
  border: none;
  outline: none;
  color: var(--gray-400);
}
.btn-text.small {
  font-size: 16px;
}
.btn-text.active {
  color: var(--gray-800);
  font-weight: bold;
}

.select-hidden {
  visibility: hidden;
  padding-right: 10px;
}

.select {
  cursor: pointer;
  display: inline-block;
  position: relative;
  font-weight: 500;
  color: var(--gray-800);
  border-bottom: 1px solid var(--gray-400);
  background-color: white;
  min-width: 120px;
  height: 48px;
}

.styledSelect {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 0 10px;
  display: flex;
  align-items: center;
  font-weight: bold;
}
.styledSelect::after {
  content: "";
  width: 0;
  height: 0;
  position: absolute;
  right: 12px;
  border: 5px solid transparent;
  border-color: black transparent transparent transparent;
}
.styledSelect.styledSelect:active, .styledSelect.styledSelect.active {
  background-color: #eee;
}

.options {
  display: none;
  position: absolute;
  top: 100%;
  right: 0;
  left: 0;
  z-index: 999;
  margin: 0 0;
  padding: 0 0;
  list-style: none;
  border: 1px solid var(--gray-200);
  background-color: white;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  border-bottom: 1px solid var(--gray-800);
  max-height: 400px;
  overflow-y: scroll;
  overscroll-behavior: contain !important;
}
.options::-webkit-scrollbar {
  width: 8px;
  background-color: var(--gray-50);
}
.options::-webkit-scrollbar-thumb {
  width: 8px;
  background-color: var(--gray-300);
  border-radius: 10px;
}

.options li {
  padding: 8px 16px;
  margin: 0 0;
}

.options li:hover {
  background-color: var(--gray-100);
  color: var(--gray-800);
}

#filter-work-year {
  width: 180px;
}

#filter-work-category {
  width: 180px;
}

@media (max-width: 480px) {
  #filter-work-year {
    width: 50%;
  }
  #filter-work-category {
    width: 50%;
  }
}
/* Search > Small --------*/
.search-small {
  position: relative;
  display: block;
  width: 100%;
  max-width: 380px;
  height: 60px;
}
.search-small > input {
  width: 100%;
  height: 100%;
  padding: 0 12px;
  border-bottom: 1px solid var(--gray-400);
  font-size: 20px;
}
.search-small > input::placeholder {
  color: var(--gray-400);
}
.search-small > input:focus {
  border-bottom: 1px solid var(--gray-900);
}
.search-small > input:focus::placeholder {
  color: transparent;
}
.search-small > button {
  position: absolute;
  right: 6px;
  margin: auto;
  top: 0;
  bottom: 0;
}
.search-small > button > svg:hover path {
  stroke: var(--pink-400);
}
.search-small.align-right-bottom {
  position: absolute;
  right: 0;
  bottom: 0;
}

@media (max-width: 640px) {
  .search-small {
    max-width: 100%;
  }
}
/* View ----------------*/
.page-head-action-bar {
  display: block;
  width: 100%;
  margin-top: 48px;
}

.btn-back-list {
  width: 124px;
  height: 40px;
  display: flex;
  align-items: center;
}
.btn-back-list > span {
  color: var(--gray-800);
  font-weight: bold;
  padding-left: 10px;
}
.btn-back-list > .icon-back-mo {
  display: none;
}

@media (max-width: 640px) {
  .page-head-action-bar {
    margin-top: 48px;
  }
  .btn-back-list > .icon-back {
    display: none;
  }
  .btn-back-list > .icon-back-mo {
    display: block;
  }
  .btn-back-list > span {
    padding-left: 6px;
  }
}
.work-view-head {
  width: 100%;
  margin-top: 40px;
  display: flex;
  flex-direction: column;
  border-bottom: 1px solid var(--gray-700);
  padding-bottom: 32px;
}
.work-view-head > .text-view-headline {
  position: relative;
  width: 100%;
  max-width: 1000px;
  text-align: center;
  margin: 0 auto 32px auto;
}

.text-view-headline {
  font-weight: bold;
  color: var(--gray-900);
  word-break: keep-all;
  line-height: 1.15em;
  margin: 0;
  font-size: 48px;
}

@media (max-width: 640px) {
  .text-view-headline {
    margin: 40px 0 0 0;
    font-size: 7vw;
  }
}
.work-list-bar {
  margin-top: 100px;
}

@media (max-width: 640px) {
  .work-list-bar {
    margin-top: 32px;
  }
}
.tags-bar {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px;
}
.tags-bar.align-left {
  justify-content: flex-start;
}
.tags-bar.align-right {
  justify-content: flex-end;
}
.tags-bar.work-view {
  margin-bottom: 32px;
}
.tags-bar.work-view > .btn-tag {
  padding: 12px 24px;
}
.tags-bar.work-view > .btn-tag span {
  font-size: 16px;
}

@media (max-width: 640px) {
  .tags-bar.work-view > .btn-tag {
    padding: 8px 12px;
  }
  .tags-bar.work-view > .btn-tag span {
    font-size: 12px;
  }
  .tags-bar.align-right {
    justify-content: flex-start;
  }
}
.work-view-action-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.work-view-action-bar > .partial-left {
  display: flex;
  align-items: center;
}
.work-view-action-bar > .partial-left .client-name {
  font-size: 24px;
  font-weight: bold;
}
.work-view-action-bar > .partial-left .update-date {
  padding-left: 24px;
  color: var(--gray-500);
}

@media (max-width: 640px) {
  .work-view-action-bar > .partial-left {
    flex-direction: column;
    align-items: flex-start;
  }
  .work-view-action-bar > .partial-left .client-name {
    font-size: 17px;
  }
  .work-view-action-bar > .partial-left .update-date {
    font-size: 14px;
    padding-left: 0;
    margin-top: 6px;
  }
}
.work-video-wrap {
  width: 100%;
  display: flex;
  justify-content: center;
  padding: 32px 0 32px 0;
  height: auto;
}
.work-video-wrap > video {
  width: 100%;
  aspect-ratio: 16/9;
}
.work-video-wrap > iframe {
  width: 100%;
  aspect-ratio: 16/9;
}

@media (max-width: 640px) {
  .work-video-wrap {
    padding: 8px 0 8px 0;
  }
}
.video-text-wrap {
  width: 100%;
  padding-bottom: 20px;
}
.video-text-wrap .text-block {
  position: relative;
  display: block;
  width: 100%;
  padding: 40px 0 40px 0;
  font-size: 20px;
  line-height: 1.75em;
  color: var(--gray-800);
  word-break: keep-all;
}
.video-text-wrap .text-block:nth-child(2) {
  border-top: 1px solid var(--gray-200);
}
.video-text-wrap .text-block.video-caption .btn-video-caption {
  position: absolute;
  right: 0;
  top: 0;
  font-size: 16px;
  font-weight: bold;
  display: flex;
  align-items: center;
  padding: 16px 8px 16px 0;
}
.video-text-wrap .text-block.video-caption .btn-video-caption > svg {
  margin-left: 6px;
  transform: rotate(0deg);
}
.video-text-wrap .text-block.video-caption > .text-base {
  display: none;
}
.video-text-wrap .text-block.video-caption.show .btn-video-caption > svg {
  transform: rotate(180deg);
}
.video-text-wrap .text-block.video-caption.show > .text-base {
  display: block;
}

@media (max-width: 640px) {
  .video-text-wrap {
    width: 100%;
    padding-bottom: 16px;
    margin-top: 16px;
  }
  .video-text-wrap .text-block {
    padding: 12px 0 12px 0;
    font-size: 16px;
  }
}
/* Insight Article ------------*/
.article-category-title {
  display: block;
  width: 100%;
  color: var(--gray-500);
  font-weight: bold;
  margin-top: 64px;
  padding: 0;
  font-size: clamp(1rem, 1.5vw, 1.5rem);
}
.article-category-title + .text-view-headline {
  margin-top: 2rem;
}

@media (max-width: 480px) {
  .article-category-title {
    margin-top: 32px;
  }
  .article-category-title + .text-view-headline {
    margin-top: 1rem;
  }
}
.article-action-wrap {
  display: flex;
  gap: 16px;
  padding: 32px 0;
}
.article-action-wrap > .btn-action {
  position: relative;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid var(--gray-300);
  cursor: pointer;
}
.article-action-wrap > .btn-action::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  color: var(--gray-600);
  bottom: -24px;
  text-align: center;
  font-size: 15px;
  font-weight: bold;
}
.article-action-wrap > .btn-action:hover {
  border: transparent;
  background-color: var(--gray-900);
}
.article-action-wrap > .btn-action:hover img {
  filter: invert(1) brightness(10);
}
.article-action-wrap > .btn-action:hover > svg path {
  stroke: white;
}
.article-action-wrap > .btn-action.active {
  border: transparent;
  background-color: var(--gray-900);
}
.article-action-wrap > .btn-action.active img {
  filter: invert(1) brightness(10);
}
.article-action-wrap > .btn-action.active > svg path {
  stroke: white;
}
.article-action-wrap > .btn-action.active.label-hide::after {
  opacity: 1;
}
.article-action-wrap > .btn-action#action-bookmark::after {
  content: "북마크";
}
.article-action-wrap > .btn-action#action-share::after {
  content: "공유";
}
.article-action-wrap > .btn-action#action-link::after {
  content: "링크";
}
.article-action-wrap > .btn-action.label-hide::after {
  opacity: 0;
}
.article-action-wrap > .btn-action.label-hide:hover::after {
  opacity: 1;
}
.article-action-wrap.vertical {
  flex-direction: column;
}
.article-action-wrap.action-right-align {
  position: absolute;
  flex-direction: column;
  right: 48px;
  top: 68px;
}
.article-action-wrap.action-right-align > .btn-action {
  margin-bottom: 40px;
}

@media (max-width: 1280px) {
  .article-action-wrap > .btn-action {
    width: 56px;
    height: 56px;
  }
  .article-action-wrap > .btn-action > img, .article-action-wrap > .btn-action svg {
    width: 24px;
    height: 24px;
  }
}
@media (max-width: 640px) {
  .article-action-wrap {
    gap: 12px;
    padding: 24px 0;
    justify-content: center;
  }
  .article-action-wrap.action-right-align {
    position: relative;
    flex-direction: row;
    justify-content: center;
    padding: 0;
    margin: 0;
    right: 0;
    top: 0;
    margin-bottom: 20px;
  }
  .article-action-wrap.action-right-align > .btn-action {
    margin-bottom: 16px;
  }
  .article-action-wrap.action-right-align > .btn-action::after {
    display: none;
  }
  .article-action-wrap > .btn-action {
    width: 48px;
    height: 48px;
  }
  .article-action-wrap > .btn-action > img, .article-action-wrap > .btn-action svg {
    width: 20px;
    height: 20px;
  }
}
.with-profile .article-body-outer {
  margin-left: 400px;
}
.with-profile .insight-writer-wrap {
  position: absolute;
  top: 32px;
  left: 24px;
  display: block;
  width: 100%;
  max-width: 280px !important;
}
.with-profile .insight-writer-wrap .writer-photo {
  position: relative;
  width: 100%;
  padding-top: 100%;
  overflow: hidden;
  background-color: gray;
}
.with-profile .insight-writer-wrap .writer-photo > img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  object-fit: cover;
  object-position: center;
}
.with-profile .writer-info-wrap {
  display: block;
  width: 100%;
}
.with-profile .writer-info-wrap .writer-name-wrap {
  display: flex;
  gap: 4px;
  flex-direction: column;
  margin: 20px 0 12px 0;
}
.with-profile .writer-info-wrap .writer-name-wrap h4 {
  font-size: 20px;
  display: inline-block;
  margin: 0;
}
.with-profile .writer-info-wrap .writer-name-wrap .writer-team {
  font-size: 16px;
  color: var(--gray-600);
  margin: 0;
}
.with-profile .writer-info-wrap > p {
  margin: 0;
  font-size: 16px;
  color: var(--gray-600);
  line-height: 1.45em;
}

@media (max-width: 1280px) {
  .with-profile .insight-writer-wrap {
    width: 260px;
  }
}
@media (max-width: 1024px) {
  .with-profile .article-body-outer {
    margin-left: auto;
  }
  .with-profile .insight-writer-wrap {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    max-width: 100%;
    gap: 24px;
    left: 0;
  }
  .with-profile .insight-writer-wrap .writer-photo {
    width: 25%;
    aspect-ratio: 2/1.5;
    padding: 0%;
  }
  .with-profile .insight-writer-wrap .writer-info-wrap {
    width: 70%;
  }
  .with-profile .insight-writer-wrap .writer-info-wrap .writer-name-wrap {
    padding: 0;
    margin: 0 0 10px 0;
  }
  .with-profile .insight-writer-wrap .writer-info-wrap > p {
    font-size: 16px;
  }
  .with-profile .insight-writer-wrap .article-action-wrap {
    width: 100%;
  }
}
@media (max-width: 640px) {
  .with-profile .insight-writer-wrap {
    gap: 16px;
    top: 0;
  }
  .with-profile .insight-writer-wrap .writer-photo {
    width: 100%;
    aspect-ratio: 2/1.5;
  }
  .with-profile .insight-writer-wrap .writer-info-wrap {
    width: 100%;
  }
  .with-profile .insight-writer-wrap .writer-info-wrap .writer-name-wrap {
    padding: 0;
    margin: 0 0 10px 0;
  }
  .with-profile .insight-writer-wrap .writer-info-wrap .writer-name-wrap h4 {
    font-size: 18px;
  }
  .with-profile .insight-writer-wrap .writer-info-wrap .writer-name-wrap .writer-team {
    font-size: 16px;
  }
  .with-profile .insight-writer-wrap .writer-info-wrap > p {
    font-size: 14px;
  }
}
.article-body-wrap {
  width: 100%;
  margin-bottom: 80px;
}
.article-body-wrap > h4, .article-body-wrap > sub-title {
  width: 100%;
  font-size: 2rem;
  font-weight: bold;
  margin: 64px 0 24px 0;
  word-break: keep-all;
}
.article-body-wrap > h4.pink {
  color: var(--pink-400);
  margin-top: 32px;
}
.article-body-wrap > .text-view-headline {
  margin-top: 48px;
}
.article-body-wrap img {
  width: auto;
  max-width: 100% !important;
  height: auto;
  margin: 32px auto;
}
.article-body-wrap > figure {
  display: block;
  max-width: 100% !important;
  margin: 24px 0 24px 0;
  text-align: center;
}
.article-body-wrap > figure > img {
  max-width: 100% !important;
}
.article-body-wrap > figure > figcaption {
  font-size: 14px;
  text-align: center;
  color: var(--gray-500);
  margin-top: 12px;
  word-break: keep-all;
}
.article-body-wrap > figure:first-child {
  margin: 40px auto;
}
.article-body-wrap .list-disc {
  width: 100%;
  padding-inline-start: 24px;
}
.article-body-wrap .list-disc > li {
  list-style-type: disc;
  padding-left: 0;
  margin-bottom: 24px;
}
.article-body-wrap ol {
  width: 100%;
  padding-inline-start: 24px;
}
.article-body-wrap .title-level3 {
  font-size: 24px;
  margin-bottom: 24px;
}
.article-body-wrap .text-big {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 8px;
  display: block;
  width: 100%;
}
.article-body-wrap p {
  font-size: 20px;
  line-height: 1.75em;
  word-break: keep-all;
}

@media (max-width: 640px) {
  .article-body-wrap {
    margin-bottom: 56px;
  }
  .article-body-wrap > h4, .article-body-wrap > sub-title {
    font-size: 18px;
    margin: 48px 0 16px 0;
  }
  .article-body-wrap > figure {
    margin: 24px 0 0 0;
  }
  .article-body-wrap > figure > img {
    margin: 0;
  }
  .article-body-wrap > figure > figcaption {
    font-size: 13px;
    margin-top: 10px;
  }
  .article-body-wrap > figure:first-child {
    margin: 0;
  }
  .article-body-wrap .list-disc {
    padding-inline-start: 16px;
  }
  .article-body-wrap .list-disc > li {
    margin-bottom: 16px;
  }
  .article-body-wrap ol {
    padding-inline-start: 16px;
  }
  .article-body-wrap .title-level3 {
    font-size: 20px;
    margin-bottom: 16px;
  }
  .article-body-wrap p {
    font-size: 18px;
  }
}
.article-text-base {
  display: block;
  font-size: 18px;
  line-height: 1.75em;
  color: var(--gray-800);
  word-break: keep-all;
  margin-bottom: 48px;
}
.article-text-base .text-strong {
  font-weight: bold;
  font-size: 18px;
}

@media (max-width: 640px) {
  .article-text-base {
    font-size: 16px;
    margin-bottom: 32px;
  }
  .article-text-base .text-strong {
    font-size: 16px;
  }
}
.view-bottom-wrap {
  position: relative;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  border-top: 1px solid var(--gray-700);
  padding: 40px 0;
  margin-bottom: 40px;
}
.view-bottom-wrap .block-prev, .view-bottom-wrap .block-next {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 380px;
  align-items: flex-start;
  height: 140px;
  cursor: pointer;
}
.view-bottom-wrap .block-prev > h4, .view-bottom-wrap .block-next > h4 {
  font-size: 20px;
  word-break: keep-all;
  width: 100%;
}
.view-bottom-wrap .block-prev .btn-article, .view-bottom-wrap .block-next .btn-article {
  position: absolute;
  bottom: 0;
}
.view-bottom-wrap .block-next {
  align-items: end;
}
.view-bottom-wrap > .btn-normal {
  position: absolute;
  width: 120px;
  margin: auto;
  left: 0;
  right: 0;
  bottom: 32px;
}
.view-bottom-wrap > .btn-normal:hover img {
  filter: invert(1) brightness(10);
}
.view-bottom-wrap > .btn-normal:hover > svg path {
  fill: white;
  stroke: none;
}

@media (max-width: 768px) {
  .view-bottom-wrap {
    padding: 0px 0;
    flex-direction: column;
    margin-bottom: 16px;
  }
  .view-bottom-wrap .block-prev, .view-bottom-wrap .block-next {
    height: auto;
    width: calc(100% - 40px);
  }
  .view-bottom-wrap .block-prev > h4, .view-bottom-wrap .block-next > h4 {
    position: relative;
    font-size: 15px;
  }
  .view-bottom-wrap .block-prev > h4::before, .view-bottom-wrap .block-next > h4::before {
    content: "";
    display: block;
    position: absolute;
    width: 24px;
    height: 24px;
    margin: auto;
    background-repeat: no-repeat;
    background-image: url("../../images/common/icon_prev_24.svg");
    left: -40px;
    top: 0;
    bottom: 0;
  }
  .view-bottom-wrap .block-prev .btn-article, .view-bottom-wrap .block-next .btn-article {
    display: none;
  }
  .view-bottom-wrap .block-next > h4::before {
    background-image: url("../../images/common/icon_next_24.svg");
  }
  .view-bottom-wrap > .btn-normal {
    position: relative;
    width: 104px;
    height: 40px;
    font-size: 14px;
    margin-top: 40px;
  }
  .view-bottom-wrap > .btn-normal > img, .view-bottom-wrap > .btn-normal svg {
    width: 16px;
    height: 16px;
  }
}
/* Insight ----------------*/
.full-swiper-container {
  position: relative;
  width: 100%;
  max-width: 2100px;
  margin: 100px auto 0 auto;
  height: 500px;
  background-color: gray;
}
.full-swiper-container > .swiper-wrapper > .swiper-slide {
  position: relative;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.full-swiper-container > .swiper-wrapper > .swiper-slide::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.2);
}
.full-swiper-container > .swiper-wrapper > .swiper-slide > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  left: 0;
  top: 0;
  position: absolute;
  z-index: -1;
}
.full-swiper-container > .swiper-wrapper > .swiper-slide .slide-title-wrap {
  z-index: 4 !important;
  position: relative;
  width: 100%;
  color: white;
}
.full-swiper-container > .swiper-wrapper > .swiper-slide .slide-title-wrap > h3 {
  width: 40%;
  font-size: 40px;
  word-break: keep-all;
  line-height: 1.33em;
  margin: 80px 0 0 0;
}
.full-swiper-container > .swiper-wrapper > .swiper-slide .slide-title-wrap .title-sub {
  display: block;
  font-size: 20px;
  margin-top: 40px;
  line-height: 1.33em;
}
.full-swiper-container .swiper-pagination {
  width: 100%;
  bottom: 56px !important;
  text-align: left;
  position: relative;
}
.full-swiper-container .swiper-pagination .swiper-pagination-bullet {
  background-color: white;
  opacity: 0.6;
  border-radius: 5px;
}
.full-swiper-container .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  width: 56px;
  opacity: 1;
}

@media (max-width: 640px) {
  .full-swiper-container {
    height: 440px;
    margin: 48px auto 0px auto;
  }
  .full-swiper-container > .swiper-wrapper > .swiper-slide {
    background-position: 60% 0;
  }
  .full-swiper-container > .swiper-wrapper > .swiper-slide .slide-title-wrap {
    display: block;
    padding: 0 0px;
  }
  .full-swiper-container > .swiper-wrapper > .swiper-slide .slide-title-wrap > h3 {
    width: 100%;
    font-size: 24px;
    margin: 40px 0 0 0;
  }
  .full-swiper-container > .swiper-wrapper > .swiper-slide .slide-title-wrap .title-sub {
    font-size: 16px;
    margin-top: 12px;
  }
  .full-swiper-container > .swiper-pagination {
    width: 100%;
    left: 24px;
    bottom: 20px;
  }
  .full-swiper-container > .swiper-pagination .swiper-pagination-bullet {
    width: 6px;
    height: 6px;
    margin-right: 0px;
  }
  .full-swiper-container > .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
    width: 32px;
    opacity: 1;
  }
}
/* Insight View ----------------*/
.insight-writer-column {
  position: relative;
  width: 350px;
  flex-shrink: 0;
}

.insight-head-info-bar {
  display: flex;
  width: 100%;
  align-items: center;
  padding: 16px 0;
  margin: 0 0 56px 0;
}
.insight-head-info-bar .insight-update-date {
  color: var(--gray-600);
}

.article-body-outer {
  width: 100%;
  max-width: 954px;
  margin: auto;
}

@media (max-width: 640px) {
  .insight-head-info-bar {
    margin: 0;
  }
}
/* Comment ------*/
.avatar {
  position: relative;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  color: white;
  font-weight: 500;
  text-align: center;
  font-size: 16px;
  font-weight: bold;
  background-color: var(--pink-400);
  line-height: 0;
}
.avatar > img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.avatar.blue {
  background-color: #2f48c6;
}
.avatar.purple {
  background-color: #8429bc;
}
.avatar.red {
  background-color: #bd1139;
}
.avatar.green {
  background-color: rgb(28, 134, 7);
}

@media (max-width: 1024px) {
  .avatar {
    width: 32px;
    height: 32px;
  }
}
@media (max-width: 640px) {
  .avatar {
    width: 28px;
    height: 28px;
    font-size: 13px;
  }
}
.comment-wrap {
  width: 100%;
  display: flex;
  flex-direction: column;
  margin: 40px 0;
}
.comment-wrap .comment-add-row {
  width: 100%;
  display: flex;
  align-items: center;
  padding: 32px 12px 32px 32px;
  border-top: 1px solid var(--gray-700);
}
.comment-wrap .comment-add-row > input {
  background-color: var(--gray-100);
  width: 100%;
  color: var(--gray-800);
  font-size: 18px;
  padding: 12px 24px;
  border-radius: 6px;
}
.comment-wrap .comment-add-row > .avatar {
  margin: 0 16px 0 0;
  flex-shrink: 0;
}
.comment-wrap .btn-comment-add {
  margin: 0 12px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  border-radius: 8px;
  padding: 10px 20px;
}
.comment-wrap .btn-comment-add:hover {
  background-color: var(--gray-100);
}
.comment-wrap .comment-area {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  padding: 24px 0 8px 32px;
  border-top: 1px solid var(--gray-200);
}
.comment-wrap .comment-area > .avatar {
  margin: 0 16px 0 0;
  flex-shrink: 0;
}
.comment-wrap .comment-area > .comment-text-wrap {
  width: calc(100% - 100px);
  font-size: 16px;
  color: var(--gray-800);
  line-height: 1.4em;
  word-break: keep-all;
}
.comment-wrap .comment-area > .comment-text-wrap > .sub-line {
  width: 100%;
  display: flex;
  font-size: 14px;
  padding: 8px 0;
  align-items: center;
  flex-wrap: wrap;
  position: relative;
}
.comment-wrap .comment-area > .comment-text-wrap > .sub-line .user-name {
  font-weight: bold;
  font-size: 14px;
}
.comment-wrap .comment-area > .comment-text-wrap > .sub-line .comment-date {
  color: var(--gray-500);
  margin-left: 8px;
}
.comment-wrap .comment-area > .comment-text-wrap > .sub-line .comment-date > span {
  margin-left: 8px;
}
.comment-wrap .comment-area > .comment-text-wrap.reply-input > input {
  width: 100%;
  padding: 10px 14px;
  background-color: var(--gray-50);
  border-bottom: 1px solid var(--gray-400);
}
.comment-wrap .comment-area > .comment-text-wrap.reply-input > .sub-line {
  justify-content: end;
}
.comment-wrap .comment-area > .comment-text-wrap.reply-input > .sub-line > .btns-row-wrap {
  padding-top: 8px;
}
.comment-wrap .comment-area > .comment-text-wrap.edit-input > input {
  width: 100%;
  padding: 10px 14px;
  background-color: var(--gray-50);
}
.comment-wrap .comment-area > .comment-text-wrap.edit-input > .sub-line {
  justify-content: end;
}
.comment-wrap .comment-area > .comment-text-wrap.edit-input > .sub-line > .btns-row-wrap {
  padding-top: 8px;
}
.comment-wrap .comment-area .btns-row-wrap {
  display: flex;
  align-items: center;
  margin-left: 8px;
}
.comment-wrap .comment-area .btns-row-wrap .edit-wrap {
  display: flex;
}
.comment-wrap .comment-area .btns-row-wrap .btn-comment-small {
  color: var(--gray-600);
  margin-left: 2px;
  font-weight: bold;
  padding: 0 10px;
  border-radius: 20px;
  display: flex;
  align-items: center;
}
.comment-wrap .comment-area .btns-row-wrap .btn-comment-small.btn-reply {
  display: flex;
  align-items: center;
}
.comment-wrap .comment-area .btns-row-wrap .btn-comment-small.btn-reply > img {
  margin-right: 4px;
}
.comment-wrap .comment-area .btns-row-wrap .btn-comment-small:hover {
  background-color: var(--gray-100);
}
.comment-wrap .comment-area.reply-row {
  padding: 10px 0 10px 90px;
  border-top: transparent;
  flex-wrap: wrap;
}
.comment-wrap .comment-area.reply-row > .avatar {
  width: 32px;
  height: 32px;
}
.comment-wrap .comment-area.reply-row > .comment-text-wrap {
  font-size: 14px;
}
.comment-wrap .reply-more-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
}
.comment-wrap .comment-more-row {
  display: block;
  width: 100%;
  font-size: 14px;
  color: var(--gray-800);
}
.comment-wrap .comment-more-row > .btn-comment-add {
  margin: 0 0 0 -8px;
  padding: 10px 16px 10px 32px;
  border-radius: 20px;
  position: relative;
}
.comment-wrap .comment-more-row > .btn-comment-add::before {
  content: "";
  display: block;
  position: absolute;
  width: 0;
  height: 0;
  left: 12px;
  border-top: 6px solid var(--gray-700);
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
}
.comment-wrap .comment-more-row > .btn-comment-add.row-close::before {
  transform: rotate(180deg);
}
.comment-wrap .comment-more-row > .btn-list-more {
  padding: 10px 16px 10px 8px;
  border-radius: 20px;
  overflow: hidden;
  position: relative;
  display: flex;
  gap: 6px;
  margin-left: 50px;
}
.comment-wrap .comment-more-row > .btn-list-more::before {
  content: "";
  display: block;
  background-image: url(../../images/common/icon_comment_list_more.svg);
  width: 16px;
  height: 16px;
}
.comment-wrap .comment-more-row > .btn-list-more.level2 {
  margin-left: 130px;
}

@media (max-width: 768px) {
  .comment-wrap .comment-add-row {
    padding: 20px 0px;
  }
  .comment-wrap .comment-add-row > .avatar {
    margin: 0 10px 0 0;
  }
  .comment-wrap .comment-add-row > input {
    font-size: 16px;
    padding: 8px 18px;
    border-radius: 4px;
  }
  .comment-wrap .comment-add-row > .btn-comment-add {
    margin: 0 4px;
    padding: 10px 4px;
  }
  .comment-wrap .comment-add-row > .btn-comment-add > span {
    display: none;
  }
  .comment-wrap .comment-row {
    padding: 16px 0px;
  }
  .comment-wrap .comment-row > .comment-text-wrap {
    font-size: 13px;
    width: 100%;
  }
  .comment-wrap .comment-row > .comment-text-wrap > .sub-line {
    font-size: 12px;
    padding: 4px 0;
  }
  .comment-wrap .comment-row > .comment-text-wrap > .sub-line .user-name {
    font-weight: bold;
    font-size: 12px;
  }
  .comment-wrap .comment-row > .comment-text-wrap > .sub-line .comment-date {
    font-size: 11px;
    margin-left: 8px;
  }
  .comment-wrap .comment-row > .comment-text-wrap > .sub-line .comment-date > span {
    margin-left: 4px;
  }
  .comment-wrap .comment-row > .avatar {
    margin: 0 10px 0 0;
  }
  .comment-wrap .comment-row .btns-row-wrap {
    margin-left: 4px;
  }
  .comment-wrap .comment-row .btns-row-wrap .btn-comment-small {
    margin-left: 2px;
    padding: 4px 6px;
  }
  .comment-wrap .comment-row .btns-row-wrap .btn-comment-small.btn-reply {
    display: flex;
  }
  .comment-wrap .comment-row .btns-row-wrap .btn-comment-small.btn-reply > img {
    margin-right: 4px;
  }
  .comment-wrap .comment-row .btns-row-wrap .btn-comment-small:hover {
    background-color: var(--gray-100);
  }
  .comment-wrap .comment-row.reply-row {
    padding: 10px 0 10px 12px;
    border-top: transparent;
  }
  .comment-wrap .comment-row.reply-row > .avatar {
    width: 24px;
    height: 24px;
    font-size: 11px;
  }
  .comment-wrap .comment-row.reply-row > .comment-text-wrap {
    width: calc(100% - 40px);
    font-size: 12px;
  }
}
/*-----------------*/
.reading-block-wrap {
  position: fixed;
  width: 100vw;
  min-height: 350px;
  left: 0;
  background-color: white;
  z-index: 100;
  display: flex;
  align-items: center;
  transition: bottom 0.2s;
  bottom: -100%;
}
.reading-block-wrap::before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 50vh;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #ffffff 100%);
  left: 0;
  top: -50vh;
}
.reading-block-wrap > .inner {
  position: relative;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.reading-block-wrap > .inner > h4 {
  width: 100%;
  font-size: 24px;
  margin: 0;
  word-break: keep-all;
}
.reading-block-wrap > .inner > span {
  font-size: 16px;
  margin: 24px 0 16px 0;
  color: var(--gray-600);
  word-break: keep-all;
}
.reading-block-wrap > .inner > span .mailto {
  display: block;
  margin: 8px 0 16px 0;
  color: var(--gray-800);
  text-decoration: underline;
}
.reading-block-wrap > .inner > button {
  width: 240px;
  height: 72px;
  border-radius: 40px;
  font-size: 22px;
  font-weight: bold;
  background-color: var(--gray-800);
  color: white;
  transition: background-color 0.25s;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
}
.reading-block-wrap > .inner > button:hover {
  background-color: var(--pink-400);
}
.reading-block-wrap.active {
  bottom: 0;
}

@media (max-width: 640px) {
  .reading-block-wrap > .inner > h4 {
    width: 90%;
    font-size: 20px;
    margin: 0 auto;
  }
  .reading-block-wrap > .inner > span {
    font-size: 16px;
    margin: 24px auto 16px auto;
    width: 90%;
  }
  .reading-block-wrap > .inner > button {
    width: 200px;
    height: 56px;
    font-size: 17px;
    gap: 4px;
    margin-bottom: 40px;
  }
  .reading-block-wrap > .inner > button > img {
    transform: scale(0.7);
  }
}
/* Video play popup -----------------*/
.video-player-wrap {
  position: fixed;
  width: 100vw;
  height: 100vh;
  left: 0;
  top: 0;
  z-index: 9900;
  display: none;
}
.video-player-wrap.active {
  display: block;
}
.video-player-wrap > iframe {
  position: absolute;
  margin: auto;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  height: calc(100% - 120px);
  aspect-ratio: 16/9;
}
.video-player-wrap .video-player-back {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.85);
  z-index: -1;
}

@media (max-width: 768px) and (orientation: portrait) {
  .video-player-wrap > iframe {
    height: auto;
    width: calc(100% - 32px);
  }
}
/*-----------------------*/
.grtyoutube-popup {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 99999;
  width: 100%;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
}

.grtyoutube-popup-content {
  width: 100%;
  max-width: 1400px;
  aspect-ratio: 16/9;
}

.grtyoutube-popup-close {
  position: absolute;
  top: -30px;
  right: 0;
  color: #FFF;
  font-size: 25px;
  width: 17px;
  height: 17px;
  cursor: pointer;
}

.grtyoutube-iframe {
  width: 100%;
  height: 100%;
}

@media (max-width: 767px) {
  .grtyoutube-iframe {
    width: 100%;
    height: 350px;
  }
}
.grtyoutube-dark-theme {
  background: rgba(0, 0, 0, 0.85);
}

/*-----------------------*/
.modal-video-wrap {
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: 9900;
  display: none;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}
.modal-video-wrap .modal-video-overlay {
  display: block;
  position: absolute;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.8);
}
.modal-video-wrap > .video-wrap {
  width: 100%;
  max-width: 1280px;
  aspect-ratio: 16/9;
  z-index: 2;
}
.modal-video-wrap > .video-wrap video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.modal-video-wrap.active {
  display: flex;
}
.modal-video-wrap > .caption-wrap {
  width: 100%;
  max-width: 700px;
  padding: 40px 24px;
  overflow-y: scroll;
  position: absolute;
  bottom: 300vh;
}

/*-----------------------*/
.modal-wrap {
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 120vh;
  left: 0;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9900;
}
.modal-wrap > .modal-overlay {
  display: block;
  position: absolute;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.4);
}
.modal-wrap .modal-small {
  position: relative;
  width: 320px;
  background-color: white;
  border-radius: 16px;
  padding: 32px 40px;
  filter: drop-shadow(2px 2px 12px rgba(0, 0, 0, 0.1));
}
.modal-wrap .modal-small > p {
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  color: var(--gray-800);
  letter-spacing: -0.03em;
}
.modal-wrap .modal-small > .btns-wrap {
  display: block;
  width: 100%;
  display: flex;
  gap: 8px;
  margin: 40px 0 16px 0;
  justify-content: center;
}
.modal-wrap .modal-small > .btns-wrap > .btn-small {
  width: 100%;
  max-width: 100px;
  padding: 10px 20px;
  border-radius: 4px;
  background-color: var(--gray-100);
  border: 1px solid var(--gray-300);
  font-weight: bold;
}
.modal-wrap .modal-small > .btns-wrap > .btn-small:hover {
  background-color: var(--gray-200);
}
.modal-wrap .modal-small > .btns-wrap > .btn-small.action {
  color: white;
  background-color: var(--gray-800);
  border: transparent;
}
.modal-wrap .modal-small > .btns-wrap > .btn-small.action:hover {
  background-color: var(--pink-400);
}
.modal-wrap.active {
  top: 0;
}

/* Search result -----------------------*/
.search-result-head.onpage {
  display: block;
  width: 100%;
  padding: 8px 32px;
  margin: 80px 0 32px 0;
  text-align: center;
  background-color: var(--gray-100);
}
.search-result-head.onpage > h4 {
  font-size: 24px;
  color: var(--gray-600);
}
.search-result-head.onpage > h4 > .keyword {
  color: var(--pink-400);
  margin-right: 8px;
}
.search-result-head.onpage > h4 > .num {
  font-size: 16px;
  margin-left: 8px;
  color: var(--gray-900);
}

/* Contact Map -----------------------*/
.contact-map-section {
  width: 100%;
  border-top: 1px solid var(--gray-200);
  background-color: var(--gray-50);
}

.contact-map-wrap {
  padding: 80px 0 100px 0;
}
.contact-map-wrap > h2 {
  font-size: 48px;
  color: var(--gray-900);
  margin: 0 0 48px 0;
}
.contact-map-wrap .dummy-img {
  max-width: 100%;
}
.contact-map-wrap .map-wrap {
  position: relative;
  width: 100%;
  height: 540px;
  margin-bottom: 64px;
  overflow: hidden;
}
.contact-map-wrap .map-wrap > .map-panel {
  position: absolute;
  width: 100%;
  max-width: 500px;
  min-height: 200px;
  z-index: 10;
  padding: 24px 40px;
  left: 0;
  bottom: 0;
  color: white;
  background-color: var(--gray-900);
}
.contact-map-wrap .map-wrap > .map-panel > dl dt {
  font-size: 28px;
  font-weight: bold;
  padding-bottom: 8px;
}
.contact-map-wrap .map-wrap > .map-panel > dl dd {
  display: flex;
  align-items: center;
  padding: 8px 0;
  font-size: 18px;
  margin-left: 0;
}
.contact-map-wrap .map-wrap > .map-panel > dl dd .map-panel-icon {
  font-size: 0;
  line-height: 0;
  margin-right: 8px;
}

@media (max-width: 640px) {
  .contact-map-wrap {
    padding: 40px 20px 40px 20px;
  }
  .contact-map-wrap > h2 {
    font-size: 32px;
  }
}
/* SNS Share -----------------------*/
.sns-share-popover {
  position: absolute;
  width: 170px;
  height: 170px;
  border-radius: 40px;
  background-color: var(--gray-900);
  z-index: 9600;
  padding: 16px;
  display: none;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 12px;
}
.sns-share-popover > button {
  display: block;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  border: 1px solid var(--gray-600);
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
}
.sns-share-popover > button:hover {
  background-color: var(--gray-600);
}
.sns-share-popover::after {
  content: "";
  display: block;
  position: absolute;
  width: 16px;
  height: 16px;
  z-index: 2;
  border: 8px solid transparent;
}
.sns-share-popover.totop {
  bottom: 80px;
}
.sns-share-popover.totop::after {
  bottom: -16px;
  left: calc(50% - 8px);
  border-top-color: var(--gray-900);
}
.sns-share-popover.show {
  display: flex;
}
.sns-share-popover.show button img {
  filter: none !important;
}

@media (max-width: 640px) {
  .sns-share-popover.totop {
    bottom: 60px;
  }
}
/* Article Watermark -----------------------*/
.article-body-wrap.watermark {
  position: relative;
  overflow: hidden !important;
}
.article-body-wrap.watermark .watermark-wrap {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: -1;
  left: 0;
  top: 0;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  overflow: hidden;
}
.article-body-wrap.watermark .watermark-wrap .watermark-block {
  display: flex;
  width: 100%;
  justify-content: center;
  align-items: center;
}
.article-body-wrap.watermark .watermark-wrap .watermark-block .watermark-text {
  display: block;
  width: 50%;
  color: var(--gray-100);
  font-size: 3vw;
  font-weight: bold;
  transform: rotateZ(45deg);
}

/* Insight Article Info -----------------------*/
.insight-article-info {
  width: 100%;
  margin: 32px 0 24px 0 !important;
  display: flex;
  align-items: center;
}
.insight-article-info > .category {
  font-size: 16px;
  color: var(--gray-800);
  font-weight: bold;
}
.insight-article-info > .info {
  display: inline-block;
  font-size: 14px;
  color: var(--gray-500);
  margin-left: 20px;
}

@media (max-width: 640px) {
  .insight-article-info {
    flex-direction: column;
  }
  .insight-article-info > .category {
    font-size: 15px;
  }
  .insight-article-info > .info {
    font-size: 14px;
  }
}
/*-----------------*/
.page-divider.insight-list {
  margin: 50px auto 40px auto;
}

@media (max-width: 640px) {
  .page-divider.insight-list {
    margin: 32px auto 32px auto;
  }
}