@charset "utf-8";

/* .th-layout-header (헤더 래퍼: position/top/left/z-index + 루트 width, 미지정 시 100%) */
.th-layout-header {
  position: relative;
  top: 0;
  left: 0;
  z-index: 50;
  width: 100%;
}


/* terjeon-header */
.terjeon-header {
  position: relative;
  background: var(--body-bg);
  color: var(--primary);
  z-index: 50;
  border-bottom: .1rem solid var(--line-color1)
}

.terjeon-header .header-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 3rem;
  max-width: 144rem;
  margin: 0 auto;
  padding: 2.5rem 4rem;
  padding-top: 2.8rem;
  padding-bottom: 2.8rem
}

.terjeon-header .header-title a {
  display: flex;
  flex-direction: column;
  height: 5.5rem;
  justify-content: center;
  color: var(--primary)
}

.terjeon-header .header-title small {
  font-size: 1.1rem;
  letter-spacing: .3em;
  font-weight: 400
}

.terjeon-header .header-title strong {
  font-family: var(--ff-ko3), Georgia, serif;
  font-size: 2.7rem;
  letter-spacing: .02em;
  font-weight: 500
}

.terjeon-header .header-title img {
  height: 100%;
  object-fit: contain
}

.terjeon-header .header-gnblist {
  display: flex;
  align-items: center;
  gap: 3.4rem;
  list-style: none;
  padding: 0;
  margin: 0
}

.terjeon-header .header-gnblink {
  display: block;
  font-size: 1.3rem;
  padding: 1.5rem 0;
  white-space: nowrap;
  color: var(--primary)
}

.terjeon-header .header-gnblink:hover {
  color: var(--secondary)
}

.terjeon-header .header-utils {
  display: flex;
  align-items: center;
  gap: 1rem
}

.terjeon-header .btnset {
  border-radius: 0;
  white-space: nowrap;
  font-size: 1.3rem
}

.terjeon-header .btn-allmenu,
.terjeon-header .btn-momenu {
  border: 0;
  background: transparent;
  color: var(--primary);
  font-size: 2.6rem;
  cursor: pointer
}

.terjeon-header .btn-momenu {
  display: none
}

.terjeon-header .header-fullmenu {
  display: none;
  position: fixed;
  inset: 0;
  background: var(--primary);
  color: var(--white);
  z-index: 1000;
  overflow: auto
}

.terjeon-header .header-fullmenu.fullmenu-active {
  display: block
}

.terjeon-header .fullmenu-wrapper {
  max-width: 110rem;
  margin: 0 auto;
  padding: 5rem 4rem
}

.terjeon-header .fullmenu-head {
  display: flex;
  justify-content: space-between;
  align-items: center
}

.terjeon-header .fullmenu-title {
  font-size: 3rem;
  font-weight: 400
}

.terjeon-header .fullmenu-close {
  font-size: 4rem;
  color: var(--white);
  border: 0;
  background: transparent;
  cursor: pointer
}

.terjeon-header .fullmenu-gnblist {
  list-style: none;
  margin-top: 5rem;
  padding: 0
}

.terjeon-header .fullmenu-gnblink {
  display: block;
  padding: 2rem 0;
  border-bottom: .1rem solid var(--secondary);
  font-size: 3rem;
  color: var(--white)
}

.terjeon-header .header-utils>.btnset {
  background: transparent;
  border: 0;
  border-bottom: .1rem solid var(--secondary);
  color: var(--secondary)
}

@media (max-width:992px) {
  .terjeon-header .header-container {
    padding: 1.8rem 2.4rem;
    padding-top: 1.8rem;
    padding-bottom: 1.8rem
  }

  .terjeon-header .header-center,
  .terjeon-header .btn-allmenu {
    display: none
  }

  .terjeon-header .btn-momenu {
    display: block
  }

  .terjeon-header .header-utils>.btnset {
    display: none
  }

  .terjeon-header .header-title strong {
    font-size: 2.2rem
  }
}
/* terjeon-hero */
.terjeon-hero {
  position: relative;
  overflow: hidden;
  padding-top: 7rem;
  padding-bottom: 7rem;
  background: var(--body-bg);
  color: var(--primary)
}

.terjeon-hero .hero-heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding-bottom: 5rem;
  gap: 5rem
}

.terjeon-hero .textset {
  margin: 0
}

.terjeon-hero .textset-subtit {
  color: var(--secondary);
  margin-bottom: 2rem;
  font-size: 1.2rem;
  letter-spacing: .18em
}

.terjeon-hero .textset-tit {
  font-family: var(--ff-ko3), Georgia, serif;
  font-weight: 400;
  margin: 0;
  font-size: clamp(4.4rem, 5.6vw, 8.4rem);
  line-height: 1.35;
  letter-spacing: -.055em;
  word-break: keep-all
}

.terjeon-hero .textset-tit em {
  font-weight: 400;
  color: var(--secondary);
  font-style: normal
}

.terjeon-hero .textset-desc {
  margin-top: 2.4rem;
  color: var(--secondary)
}

.terjeon-hero .hero-note {
  padding-bottom: 1rem;
  text-align: right;
  min-width: 25rem
}

.terjeon-hero .hero-note p {
  color: var(--secondary)
}

.terjeon-hero .textset-more {
  display: inline-flex;
  align-items: center;
  gap: 2.4rem;
  margin-top: 3rem;
  color: var(--primary)
}

.terjeon-hero .hero-media {
  position: relative
}

.terjeon-hero .thumb {
  height: 100%;
  overflow: hidden;
  border-radius: 0;
  position: absolute;
  inset: 0;
  width: 100%
}

.terjeon-hero .imageset {
  display: block;
  width: 100%;
  height: 100%
}

.terjeon-hero .imageset-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 40%
}

.terjeon-hero .hero-caption {
  display: flex;
  justify-content: space-between;
  padding-top: 2rem;
  font-size: 1.1rem;
  letter-spacing: .1em;
  color: var(--secondary)
}

.terjeon-hero .slide-area {
  width: 100%;
  min-width: 0
}

.terjeon-hero .swiper {
  width: 100%;
  height: 59rem;
  overflow: hidden;
  border-radius: 0;
  touch-action: pan-y
}

.terjeon-hero .swiper-wrapper {
  display: flex;
  height: 100%
}

.terjeon-hero .swiper-slide {
  position: relative;
  width: 100%;
  height: 100%;
  flex-shrink: 0;
  background: var(--bg-color)
}

.terjeon-hero .slide-detail .imageset-img {
  object-position: center center;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: none
}

.terjeon-hero .slide-space .imageset-img {
  object-position: center 48%;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: none
}

.terjeon-hero .hero-controls {
  display: flex;
  align-items: center;
  gap: 1.6rem
}

.terjeon-hero .hero-controls .btnset {
  padding: 0;
  min-width: 3.2rem;
  width: 3.2rem;
  height: 3.2rem;
  border: 0;
  background: transparent;
  color: var(--primary)
}

.terjeon-hero .hero-controls .btnset:focus-visible {
  outline: 0.2rem solid var(--secondary);
  outline-offset: .4rem
}

.terjeon-hero .swiper-pagination {
  position: static;
  width: auto;
  display: flex;
  align-items: center;
  gap: 1rem
}

.terjeon-hero .swiper-pagination-bullet {
  display: block;
  width: .8rem;
  height: .8rem;
  padding: 0;
  border: 0;
  background: var(--secondary);
  opacity: .3;
  border-radius: 50%;
  cursor: pointer
}

.terjeon-hero .swiper-pagination-bullet-active {
  opacity: 1;
  background: var(--primary)
}

.terjeon-hero .hero-count {
  min-width: 6.2rem
}

.terjeon-hero .hero-count:empty {
  display: none
}

.terjeon-hero .slide-detail .thumb,
.terjeon-hero .slide-space .thumb {
  background: var(--body-bg)
}

.terjeon-hero .slide-detail .imageset,
.terjeon-hero .slide-space .imageset {
  display: block;
  height: 100%;
  width: 100%
}

.terjeon-hero .slide-skin .thumb .videoset {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden
}

.terjeon-hero .slide-skin .thumb .videoset-video,
.terjeon-hero .slide-skin .thumb .videoset video {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center center
}

.terjeon-hero .slide-skin .videoset-video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center
}

.terjeon-hero .contents-container {
  max-width: 144rem;
  margin: auto;
  padding-left: 6rem;
  padding-right: 6rem
}

.terjeon-hero .textset-desc,
.terjeon-hero .hero-note p {
  font-size: 1.5rem;
  line-height: 1.9
}

.terjeon-hero .visual-word {
  position: absolute;
  left: 6rem;
  bottom: 6rem;
  color: var(--white);
  z-index: 2
}

.terjeon-hero .visual-word>span {
  font: 7.2rem/.98 Georgia, serif;
  letter-spacing: -.03em
}

.terjeon-hero .visual-word>small {
  display: block;
  font-size: 1.3rem;
  letter-spacing: .12em;
  margin-top: 3rem
}

.terjeon-hero .architecture-slide .imageset-img {
  object-position: center;
  filter: brightness(.7)
}

.terjeon-hero .portrait-slide .imageset-img {
  width: 55%;
  margin-left: auto;
  object-fit: contain;
  object-position: bottom right;
  background: var(--bg-color)
}

.terjeon-hero .portrait-slide .visual-word {
  color: var(--primary)
}

.terjeon-hero .portrait-slide .visual-word>span {
  font-size: 5rem
}

.terjeon-hero .banner-slide .imageset-img {
  object-fit: contain;
  background: var(--bg-color)
}

.terjeon-hero .hero-bottom {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4rem;
  border-top: .1rem solid var(--line-color1);
  margin-top: 4rem;
  padding-top: 3rem;
  font-size: 1.2rem;
  line-height: 2;
  color: var(--secondary)
}

.terjeon-hero .hero-bottom b,
.terjeon-hero .hero-bottom a {
  display: block;
  font-size: 1.7rem;
  font-weight: 400;
  color: var(--primary)
}

@media (max-width: 992px) {
  .terjeon-hero {
    padding-top: 4rem;
    padding-bottom: 6rem
  }

  .terjeon-hero .hero-heading {
    display: block;
    padding-bottom: 3rem
  }

  .terjeon-hero .hero-note {
    display: none
  }

  .terjeon-hero .thumb {
    height: 48rem;
    border-radius: 0 3rem 0 0
  }

  .terjeon-hero .hero-caption {
    align-items: center;
    gap: 1.6rem;
    flex-wrap: wrap
  }

  .terjeon-hero .swiper {
    height: 48rem;
    border-radius: 0 3rem 0 0
  }

  .terjeon-hero .hero-controls {
    gap: 1rem
  }
}

@media (prefers-reduced-motion: reduce) {
  .terjeon-hero .swiper-wrapper {
    transition-duration: 0s !important
  }
}

@media (max-width:992px) {
  .terjeon-hero {
    padding-top: 4rem;
    padding-bottom: 5rem
  }

  .terjeon-hero .contents-container {
    padding-left: 2.4rem;
    padding-right: 2.4rem
  }

  .terjeon-hero .textset-tit {
    font-size: 4rem
  }

  .terjeon-hero .hero-note {
    display: block;
    text-align: left;
    margin-top: 2rem
  }

  .terjeon-hero .hero-heading {
    padding-bottom: 3rem
  }

  .terjeon-hero .swiper,
  .terjeon-hero .thumb {
    height: 43rem;
    border-radius: 0
  }

  .terjeon-hero .visual-word {
    left: 2.5rem;
    bottom: 4rem
  }

  .terjeon-hero .visual-word>span {
    font-size: 5rem
  }

  .terjeon-hero .portrait-slide .imageset-img {
    width: 100%;
    opacity: .55
  }

  .terjeon-hero .portrait-slide .visual-word>span {
    font-size: 3.8rem
  }

  .terjeon-hero .hero-bottom {
    grid-template-columns: 1fr;
    gap: 1.5rem
  }

  .terjeon-hero .hero-controls {
    gap: .7rem
  }

  .terjeon-hero .hero-slide-caption {
    max-width: 17rem
  }
}
/* terjeon-about */
.terjeon-about {
  position: relative;
  overflow: hidden;
  padding-top: 12rem;
  padding-bottom: 12rem;
  background: var(--body-bg);
  color: var(--primary)
}

.terjeon-about .contents-container {
  max-width: 144rem;
  padding-left: 6rem;
  padding-right: 6rem;
  margin: 0 auto
}

.terjeon-about .eyebrow {
  font-size: 1.1rem;
  letter-spacing: .18em;
  color: var(--secondary);
  margin-bottom: 2.4rem
}

.terjeon-about h2 {
  font-family: var(--ff-ko3), Georgia, serif;
  font-size: 5.6rem;
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: -.055em;
  margin-bottom: 2.8rem
}

.terjeon-about h3 {
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 1.6rem
}

.terjeon-about p {
  font-size: 1.7rem;
  line-height: 1.9;
  margin-bottom: 1.6rem
}

.terjeon-about .fine {
  font-size: 1.3rem;
  opacity: .7
}

.terjeon-about .split {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 12rem;
  align-items: center
}

.terjeon-about img {
  max-width: 100%;
  display: block;
  height: auto
}

.terjeon-about .photo {
  width: 100%;
  object-fit: contain
}

.terjeon-about .btnset {
  margin-top: 2rem;
  min-height: 5.6rem;
  font-size: 1.5rem;
  gap: 2rem;
  border-radius: 0
}

.terjeon-about .actions {
  display: flex;
  gap: 1.6rem;
  flex-wrap: wrap
}

.terjeon-about details {
  border-top: .1rem solid var(--line-color1);
  padding: 2rem 0
}

.terjeon-about summary {
  font-size: 1.8rem;
  cursor: pointer;
  line-height: 1.7
}

.terjeon-about details p {
  padding-top: 1.8rem
}

.terjeon-about details img {
  margin-top: 2rem
}

.terjeon-about .rule {
  padding: 2rem 0;
  border-bottom: .1rem solid var(--line-color1)
}

.terjeon-about .quote {
  font-family: var(--ff-ko3), Georgia, serif;
  font-size: 4rem;
  line-height: 1.7;
  letter-spacing: -.03em;
  margin: 3rem 0
}

.terjeon-about .grid3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem
}

.terjeon-about .step {
  border-top: .1rem solid var(--secondary);
  padding-top: 2.4rem
}

.terjeon-about .number {
  font: italic 3rem Georgia, serif;
  color: var(--secondary);
  margin-bottom: 2rem;
  display: block;
  font-size: 5rem
}

.terjeon-about .standards {
  margin-top: 10rem;
  margin-bottom: 4rem;
  padding-top: 5rem;
  border-top: .1rem solid var(--line-color1)
}

.terjeon-about .standards>h3 {
  margin-bottom: 3rem
}

.terjeon-about .source-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  align-items: start
}

.terjeon-about .split>div:first-child {
  padding-right: 2rem
}

.terjeon-about .standards .step {
  border: 0;
  padding: 3rem 4rem 3rem 0
}

@media (max-width:992px) {
  .terjeon-about {
    padding-top: 6rem;
    padding-bottom: 6rem
  }

  .terjeon-about .contents-container {
    padding-left: 2.4rem;
    padding-right: 2.4rem
  }

  .terjeon-about .split,
  .terjeon-about .grid3 {
    grid-template-columns: 1fr;
    gap: 3.6rem
  }

  .terjeon-about h2 {
    font-size: 3.6rem
  }

  .terjeon-about .quote {
    font-size: 2.8rem
  }

  .terjeon-about .split {
    grid-template-columns: 1fr;
    gap: 4rem
  }

  .terjeon-about .split>div:first-child,
  .terjeon-about .split>div:last-child {
    order: initial
  }

  .terjeon-about .process {
    padding: 3rem;
    margin-top: 5rem;
    margin-bottom: 5rem
  }

  .terjeon-about .price {
    font-size: 5rem
  }

  .terjeon-about .source-pair {
    grid-template-columns: 1fr
  }

  .terjeon-about summary.treatment-row {
    grid-template-columns: 3rem 1fr 2rem;
    gap: 1rem;
    min-height: 15rem;
    padding: 2.5rem 0
  }

  .terjeon-about .treatment-en {
    font-size: 2.5rem
  }

  .terjeon-about .treatment-info {
    grid-column: 2;
    grid-row: 2
  }

  .terjeon-about .treatment-name {
    font-size: 1.8rem
  }

  .terjeon-about .treatment-row .ff-ico {
    grid-column: 3;
    grid-row: 1
  }
}
/* terjeon-lawyer */
.terjeon-lawyer {
  position: relative;
  overflow: hidden;
  padding-top: 12rem;
  padding-bottom: 12rem;
  background: var(--bg-color);
  color: var(--primary)
}

.terjeon-lawyer .contents-container {
  max-width: 144rem;
  padding-left: 6rem;
  padding-right: 6rem;
  margin: 0 auto
}

.terjeon-lawyer .eyebrow {
  font-size: 1.1rem;
  letter-spacing: .18em;
  color: var(--secondary);
  margin-bottom: 2.4rem
}

.terjeon-lawyer h2 {
  font-family: var(--ff-ko3), Georgia, serif;
  font-size: 5.6rem;
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: -.055em;
  margin-bottom: 2.8rem
}

.terjeon-lawyer h3 {
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 1.6rem
}

.terjeon-lawyer p {
  font-size: 1.7rem;
  line-height: 1.9;
  margin-bottom: 1.6rem
}

.terjeon-lawyer .fine {
  font-size: 1.3rem;
  opacity: .7
}

.terjeon-lawyer .split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 13rem;
  align-items: start
}

.terjeon-lawyer img {
  max-width: 100%;
  display: block;
  height: auto
}

.terjeon-lawyer .photo {
  width: 100%;
  object-fit: cover;
  position: relative;
  top: auto;
  max-height: 85rem;
  object-position: top
}

.terjeon-lawyer .btnset {
  margin-top: 2rem;
  min-height: 5.6rem;
  font-size: 1.5rem;
  gap: 2rem;
  border-radius: 0
}

.terjeon-lawyer .actions {
  display: flex;
  gap: 1.6rem;
  flex-wrap: wrap
}

.terjeon-lawyer details {
  border-top: .1rem solid var(--line-color1);
  padding: 2rem 0
}

.terjeon-lawyer summary {
  font-size: 1.8rem;
  cursor: pointer;
  line-height: 1.7
}

.terjeon-lawyer details p {
  padding-top: 1.8rem
}

.terjeon-lawyer details img {
  margin-top: 2rem
}

.terjeon-lawyer .rule {
  padding: 1.8rem 0;
  border-bottom: .1rem solid var(--line-color1);
  display: grid;
  grid-template-columns: 9rem 1fr;
  gap: 2rem
}

.terjeon-lawyer .quote {
  font-family: var(--ff-ko3), Georgia, serif;
  font-size: 3rem;
  line-height: 1.7;
  letter-spacing: -.03em;
  margin: 3rem 0;
  color: var(--secondary)
}

.terjeon-lawyer .grid3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem
}

.terjeon-lawyer .step {
  border-top: .1rem solid var(--secondary);
  padding-top: 2.4rem
}

.terjeon-lawyer .number {
  font: italic 3rem Georgia, serif;
  color: var(--secondary);
  margin-bottom: 2rem;
  display: block
}

.terjeon-lawyer .conversation {
  margin-top: 4rem
}

.terjeon-lawyer .split>div:first-child {
  order: 2
}

.terjeon-lawyer .split>div:last-child {
  order: 1
}

.terjeon-lawyer .rule p {
  margin: 0;
  font-size: 1.4rem
}

.terjeon-lawyer .rule b {
  font-weight: 400;
  font-size: 1.3rem;
  color: var(--secondary)
}

@media (max-width:992px) {
  .terjeon-lawyer {
    padding-top: 6rem;
    padding-bottom: 6rem
  }

  .terjeon-lawyer .contents-container {
    padding-left: 2.4rem;
    padding-right: 2.4rem
  }

  .terjeon-lawyer .split,
  .terjeon-lawyer .grid3 {
    grid-template-columns: 1fr;
    gap: 3.6rem
  }

  .terjeon-lawyer h2 {
    font-size: 3.6rem
  }

  .terjeon-lawyer .quote {
    font-size: 2.8rem
  }

  .terjeon-lawyer .split {
    grid-template-columns: 1fr;
    gap: 4rem
  }

  .terjeon-lawyer .split>div:first-child,
  .terjeon-lawyer .split>div:last-child {
    order: initial
  }

  .terjeon-lawyer .process {
    padding: 3rem;
    margin-top: 5rem;
    margin-bottom: 5rem
  }

  .terjeon-lawyer .price {
    font-size: 5rem
  }

  .terjeon-lawyer .source-pair {
    grid-template-columns: 1fr
  }

  .terjeon-lawyer summary.treatment-row {
    grid-template-columns: 3rem 1fr 2rem;
    gap: 1rem;
    min-height: 15rem;
    padding: 2.5rem 0
  }

  .terjeon-lawyer .treatment-en {
    font-size: 2.5rem
  }

  .terjeon-lawyer .treatment-info {
    grid-column: 2;
    grid-row: 2
  }

  .terjeon-lawyer .treatment-name {
    font-size: 1.8rem
  }

  .terjeon-lawyer .treatment-row .ff-ico {
    grid-column: 3;
    grid-row: 1
  }
}
/* terjeon-practice */
.terjeon-practice {
  position: relative;
  overflow: hidden;
  padding-top: 14rem;
  padding-bottom: 14rem;
  background: var(--body-bg);
  color: var(--primary)
}

.terjeon-practice .contents-container {
  max-width: 144rem;
  padding-left: 6rem;
  padding-right: 6rem;
  margin: 0 auto
}

.terjeon-practice .eyebrow {
  font-size: 1.1rem;
  letter-spacing: .18em;
  color: var(--secondary);
  margin-bottom: 2.4rem
}

.terjeon-practice h2 {
  font-family: var(--ff-ko3), Georgia, serif;
  font-size: 5.6rem;
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: -.055em;
  margin-bottom: 2.8rem
}

.terjeon-practice h3 {
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 1.6rem
}

.terjeon-practice p {
  font-size: 1.7rem;
  line-height: 1.9;
  margin-bottom: 1.6rem
}

.terjeon-practice .fine {
  font-size: 1.3rem;
  opacity: .7
}

.terjeon-practice .split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8rem;
  align-items: center
}

.terjeon-practice img {
  max-width: 100%;
  display: block;
  height: auto
}

.terjeon-practice .photo {
  width: 100%;
  object-fit: contain
}

.terjeon-practice .btnset {
  margin-top: 2rem;
  min-height: 5.6rem;
  font-size: 1.5rem;
  gap: 2rem;
  border-radius: 0
}

.terjeon-practice .actions {
  display: flex;
  gap: 1.6rem;
  flex-wrap: wrap
}

.terjeon-practice details {
  border-top: .1rem solid var(--line-color1);
  padding: 0
}

.terjeon-practice summary {
  font-size: 2.3rem;
  cursor: pointer;
  line-height: 1.7;
  display: flex;
  align-items: center;
  gap: 3rem;
  padding: 1rem 0
}

.terjeon-practice details p {
  padding-top: 1.8rem
}

.terjeon-practice details img {
  margin-top: 2rem
}

.terjeon-practice .rule {
  padding: 2rem 0;
  border-bottom: .1rem solid var(--line-color1)
}

.terjeon-practice .quote {
  font-family: var(--ff-ko3), Georgia, serif;
  font-size: 4rem;
  line-height: 1.7;
  letter-spacing: -.03em;
  margin: 3rem 0
}

.terjeon-practice .grid3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem
}

.terjeon-practice .step {
  border-top: .1rem solid var(--secondary);
  padding-top: 2.4rem
}

.terjeon-practice .number {
  font: italic 3rem Georgia, serif;
  color: var(--secondary);
  margin-bottom: 2rem;
  display: block
}

.terjeon-practice .field-list {
  margin-top: 6rem;
  border-bottom: .1rem solid var(--line-color1)
}

.terjeon-practice summary .number {
  margin: 0;
  min-width: 5rem
}

.terjeon-practice .field-short {
  margin-left: auto;
  font-size: 1.4rem;
  color: var(--text-color2)
}

.terjeon-practice .field-body {
  padding-left: 8rem;
  padding-bottom: 3rem
}

.terjeon-practice details[open] {
  background: var(--bg-color)
}

.terjeon-practice .treatment-heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding-bottom: 6rem
}

.terjeon-practice .textset-subtit {
  color: var(--secondary);
  margin-bottom: 2.6rem
}

.terjeon-practice .textset-tit {
  font-family: var(--ff-en1);
  font-weight: 400
}

.terjeon-practice .treatment-lead {
  color: var(--secondary);
  text-align: right
}

.terjeon-practice .treatment-row {
  display: grid;
  grid-template-columns: 6rem 1.2fr 1fr 4rem;
  gap: 3rem;
  align-items: center;
  min-height: 16rem;
  border-top: 0.1rem solid rgba(var(--primary-rgb), 0.2);
  transition: padding .3s, background .3s
}

.terjeon-practice .treatment-row:last-child {
  border-bottom: 0.1rem solid rgba(var(--primary-rgb), 0.2)
}

.terjeon-practice .treatment-row:hover {
  padding-left: 2rem;
  background: var(--bg-color)
}

.terjeon-practice .treatment-row h3 {
  font-family: var(--ff-en1);
  font-weight: 400
}

.terjeon-practice .treatment-name {
  font-weight: 400;
  font-size: 2rem
}

.terjeon-practice .treatment-desc {
  margin-top: .8rem;
  color: var(--secondary);
  font-size: 1.3rem;
  line-height: 1.8
}

.terjeon-practice .ff-ico {
  font-size: var(--fs-h4);
  color: var(--primary)
}

.terjeon-practice .treatment-note {
  padding-top: 2.4rem;
  text-align: right;
  color: var(--secondary)
}

.terjeon-practice summary.treatment-row {
  display: grid;
  grid-template-columns: 5rem 1.2fr 1fr 3rem;
  gap: 3rem;
  padding: 3rem 0;
  border-top: 0;
  min-height: 16rem;
  list-style: none
}

.terjeon-practice .treatment-en {
  font: 3.4rem/1.3 Georgia, serif;
  letter-spacing: -.03em
}

.terjeon-practice .treatment-info {
  display: flex;
  flex-direction: column;
  gap: 1rem
}

.terjeon-practice details[open] .ff-ico {
  transform: rotate(90deg)
}

@media (max-width:992px) {
  .terjeon-practice summary {
    font-size: 1.8rem;
    gap: 1rem
  }

  .terjeon-practice .field-short {
    display: none
  }

  .terjeon-practice .field-body {
    padding-left: 2rem
  }

  .terjeon-practice {
    padding-top: 6rem;
    padding-bottom: 6rem
  }

  .terjeon-practice .contents-container {
    padding-left: 2.4rem;
    padding-right: 2.4rem
  }

  .terjeon-practice .split,
  .terjeon-practice .grid3 {
    grid-template-columns: 1fr;
    gap: 3.6rem
  }

  .terjeon-practice h2 {
    font-size: 3.6rem
  }

  .terjeon-practice .quote {
    font-size: 2.8rem
  }

  .terjeon-practice .split {
    grid-template-columns: 1fr;
    gap: 4rem
  }

  .terjeon-practice .split>div:first-child,
  .terjeon-practice .split>div:last-child {
    order: initial
  }

  .terjeon-practice .process {
    padding: 3rem;
    margin-top: 5rem;
    margin-bottom: 5rem
  }

  .terjeon-practice .price {
    font-size: 5rem
  }

  .terjeon-practice .source-pair {
    grid-template-columns: 1fr
  }

  .terjeon-practice summary.treatment-row {
    grid-template-columns: 3rem 1fr 2rem;
    gap: 1rem;
    min-height: 15rem;
    padding: 2.5rem 0
  }

  .terjeon-practice .treatment-en {
    font-size: 2.5rem
  }

  .terjeon-practice .treatment-info {
    grid-column: 2;
    grid-row: 2
  }

  .terjeon-practice .treatment-name {
    font-size: 1.8rem
  }

  .terjeon-practice .treatment-row .ff-ico {
    grid-column: 3;
    grid-row: 1
  }
}

@media (max-width: 992px) {
  .terjeon-practice {
    padding-top: 6rem;
    padding-bottom: 6rem
  }

  .terjeon-practice .treatment-heading {
    display: block;
    padding-bottom: 4rem
  }

  .terjeon-practice .treatment-lead {
    margin-top: 2rem;
    text-align: left
  }

  .terjeon-practice .treatment-row {
    grid-template-columns: 3rem 1fr 3rem;
    gap: 1rem;
    padding: 2.4rem 0;
    min-height: 15rem
  }

  .terjeon-practice .treatment-info {
    grid-column: 2;
    grid-row: 2
  }

  .terjeon-practice .ff-ico {
    grid-column: 3;
    grid-row: 1
  }

  .terjeon-practice .treatment-note {
    text-align: left
  }
}
/* terjeon-reservation */
.terjeon-reservation {
  position: relative;
  overflow: hidden;
  padding-top: 12rem;
  padding-bottom: 12rem;
  background: var(--body-bg);
  color: var(--primary)
}

.terjeon-reservation .contents-container {
  max-width: 144rem;
  padding-left: 6rem;
  padding-right: 6rem;
  margin: 0 auto
}

.terjeon-reservation .eyebrow {
  font-size: 1.1rem;
  letter-spacing: .18em;
  color: var(--secondary);
  margin-bottom: 2.4rem
}

.terjeon-reservation h2 {
  font-family: var(--ff-ko3), Georgia, serif;
  font-size: 5.6rem;
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: -.055em;
  margin-bottom: 2.8rem
}

.terjeon-reservation h3 {
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 1.6rem
}

.terjeon-reservation p {
  font-size: 1.7rem;
  line-height: 1.9;
  margin-bottom: 1.6rem
}

.terjeon-reservation .fine {
  font-size: 1.3rem;
  opacity: .7
}

.terjeon-reservation .split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12rem;
  align-items: start
}

.terjeon-reservation img {
  max-width: 100%;
  display: block;
  height: auto
}

.terjeon-reservation .photo {
  width: 100%;
  object-fit: contain
}

.terjeon-reservation .btnset {
  margin-top: 2rem;
  min-height: 5.6rem;
  font-size: 1.5rem;
  gap: 2rem;
  border-radius: 0
}

.terjeon-reservation .actions {
  display: flex;
  gap: 1.6rem;
  flex-wrap: wrap
}

.terjeon-reservation details {
  border-top: .1rem solid var(--line-color1);
  padding: 2rem 0
}

.terjeon-reservation summary {
  font-size: 1.8rem;
  cursor: pointer;
  line-height: 1.7
}

.terjeon-reservation details p {
  padding-top: 1.8rem
}

.terjeon-reservation details img {
  margin-top: 2rem
}

.terjeon-reservation .rule {
  padding: 2rem 0;
  border-bottom: .1rem solid var(--line-color1)
}

.terjeon-reservation .quote {
  font-family: var(--ff-ko3), Georgia, serif;
  font-size: 4rem;
  line-height: 1.7;
  letter-spacing: -.03em;
  margin: 3rem 0
}

.terjeon-reservation .grid3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem
}

.terjeon-reservation .step {
  border-top: .1rem solid var(--secondary);
  padding-top: 2.4rem
}

.terjeon-reservation .number {
  font: italic 3rem Georgia, serif;
  color: var(--secondary);
  margin-bottom: 2rem;
  display: block
}

.terjeon-reservation .price-panel {
  padding: 5rem;
  background: var(--bg-color);
  color: var(--primary);
  border-top: .2rem solid var(--primary)
}

.terjeon-reservation .price-panel .eyebrow {
  color: var(--secondary)
}

.terjeon-reservation .price {
  font: 5.6rem Georgia, serif;
  white-space: nowrap;
  font-size: 7rem
}

.terjeon-reservation .price span {
  font: 1.5rem sans-serif;
  margin-left: 1rem
}

.terjeon-reservation .price-panel .btnset-link {
  color: var(--primary)
}

.terjeon-reservation .process {
  margin-top: 8rem;
  margin-bottom: 10rem;
  background: var(--primary);
  color: var(--body-bg);
  padding: 6rem
}

.terjeon-reservation .process>h3 {
  margin-bottom: 4rem;
  font-family: var(--ff-ko3), Georgia, serif;
  font-size: 3.2rem
}

.terjeon-reservation .fee-row {
  display: flex;
  justify-content: space-between;
  gap: 2rem;
  padding: 2rem 0;
  border-bottom: .1rem solid var(--line-color1);
  font-size: 1.7rem
}

.terjeon-reservation .fee-row small {
  display: block;
  font-size: 1.2rem;
  opacity: .7
}

.terjeon-reservation .fee-faq .fine {
  margin-top: 2rem
}

.terjeon-reservation .process .number {
  color: var(--bg-color)
}

.terjeon-reservation .process .step {
  border-top-color: var(--secondary)
}

.terjeon-reservation .fee-faq h2 {
  font-size: 4rem
}

@media (max-width:992px) {
  .terjeon-reservation .price-panel {
    padding: 3rem
  }

  .terjeon-reservation .price {
    font-size: 5rem
  }

  .terjeon-reservation {
    padding-top: 6rem;
    padding-bottom: 6rem
  }

  .terjeon-reservation .contents-container {
    padding-left: 2.4rem;
    padding-right: 2.4rem
  }

  .terjeon-reservation .split,
  .terjeon-reservation .grid3 {
    grid-template-columns: 1fr;
    gap: 3.6rem
  }

  .terjeon-reservation h2 {
    font-size: 3.6rem
  }

  .terjeon-reservation .quote {
    font-size: 2.8rem
  }

  .terjeon-reservation .split {
    grid-template-columns: 1fr;
    gap: 4rem
  }

  .terjeon-reservation .split>div:first-child,
  .terjeon-reservation .split>div:last-child {
    order: initial
  }

  .terjeon-reservation .process {
    padding: 3rem;
    margin-top: 5rem;
    margin-bottom: 5rem
  }

  .terjeon-reservation .source-pair {
    grid-template-columns: 1fr
  }

  .terjeon-reservation summary.treatment-row {
    grid-template-columns: 3rem 1fr 2rem;
    gap: 1rem;
    min-height: 15rem;
    padding: 2.5rem 0
  }

  .terjeon-reservation .treatment-en {
    font-size: 2.5rem
  }

  .terjeon-reservation .treatment-info {
    grid-column: 2;
    grid-row: 2
  }

  .terjeon-reservation .treatment-name {
    font-size: 1.8rem
  }

  .terjeon-reservation .treatment-row .ff-ico {
    grid-column: 3;
    grid-row: 1
  }
}
/* terjeon-location */
.terjeon-location {
  position: relative;
  overflow: hidden;
  padding-top: 12rem;
  padding-bottom: 12rem;
  background: var(--bg-color);
  color: var(--primary)
}

.terjeon-location .contents-container {
  max-width: 144rem;
  padding-left: 6rem;
  padding-right: 6rem;
  margin: 0 auto
}

.terjeon-location .eyebrow {
  font-size: 1.1rem;
  letter-spacing: .18em;
  color: var(--secondary);
  margin-bottom: 2.4rem
}

.terjeon-location h2 {
  font-family: var(--ff-ko3), Georgia, serif;
  font-size: 5.6rem;
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: -.055em;
  margin-bottom: 2.8rem
}

.terjeon-location h3 {
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 1.6rem
}

.terjeon-location p {
  font-size: 1.7rem;
  line-height: 1.9;
  margin-bottom: 1.6rem
}

.terjeon-location .fine {
  font-size: 1.3rem;
  opacity: .7
}

.terjeon-location .split {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 10rem;
  align-items: center
}

.terjeon-location img {
  max-width: 100%;
  display: block;
  height: auto
}

.terjeon-location .photo {
  width: 100%;
  object-fit: contain
}

.terjeon-location .btnset {
  margin-top: 2rem;
  min-height: 5.6rem;
  font-size: 1.5rem;
  gap: 2rem;
  border-radius: 0
}

.terjeon-location .actions {
  display: flex;
  gap: 1.6rem;
  flex-wrap: wrap
}

.terjeon-location details {
  border-top: .1rem solid var(--line-color1);
  padding: 2rem 0
}

.terjeon-location summary {
  font-size: 1.8rem;
  cursor: pointer;
  line-height: 1.7
}

.terjeon-location details p {
  padding-top: 1.8rem
}

.terjeon-location details img {
  margin-top: 2rem
}

.terjeon-location .rule {
  padding: 2rem 0;
  border-bottom: .1rem solid var(--line-color1)
}

.terjeon-location .quote {
  font-family: var(--ff-ko3), Georgia, serif;
  font-size: 4rem;
  line-height: 1.7;
  letter-spacing: -.03em;
  margin: 3rem 0
}

.terjeon-location .grid3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem
}

.terjeon-location .step {
  border-top: .1rem solid var(--secondary);
  padding-top: 2.4rem
}

.terjeon-location .number {
  font: italic 3rem Georgia, serif;
  color: var(--secondary);
  margin-bottom: 2rem;
  display: block;
  font-size: 4rem
}

.terjeon-location .parking {
  margin-top: 8rem;
  margin-bottom: 4rem;
  border-top: .1rem solid var(--line-color1);
  padding-top: 5rem
}

.terjeon-location .parking>h3 {
  margin-bottom: 3rem
}

.terjeon-location .phone {
  font-size: 1.7rem;
  text-decoration: underline
}

.terjeon-location .split>div:first-child {
  order: 2
}

.terjeon-location .split>div:last-child {
  order: 1
}

.terjeon-location .split .photo {
  border: .1rem solid var(--line-color1)
}

.terjeon-location .parking .step {
  border: 0
}

@media (max-width:992px) {
  .terjeon-location {
    padding-top: 6rem;
    padding-bottom: 6rem
  }

  .terjeon-location .contents-container {
    padding-left: 2.4rem;
    padding-right: 2.4rem
  }

  .terjeon-location .split,
  .terjeon-location .grid3 {
    grid-template-columns: 1fr;
    gap: 3.6rem
  }

  .terjeon-location h2 {
    font-size: 3.6rem
  }

  .terjeon-location .quote {
    font-size: 2.8rem
  }

  .terjeon-location .split {
    grid-template-columns: 1fr;
    gap: 4rem
  }

  .terjeon-location .split>div:first-child,
  .terjeon-location .split>div:last-child {
    order: initial
  }

  .terjeon-location .process {
    padding: 3rem;
    margin-top: 5rem;
    margin-bottom: 5rem
  }

  .terjeon-location .price {
    font-size: 5rem
  }

  .terjeon-location .source-pair {
    grid-template-columns: 1fr
  }

  .terjeon-location summary.treatment-row {
    grid-template-columns: 3rem 1fr 2rem;
    gap: 1rem;
    min-height: 15rem;
    padding: 2.5rem 0
  }

  .terjeon-location .treatment-en {
    font-size: 2.5rem
  }

  .terjeon-location .treatment-info {
    grid-column: 2;
    grid-row: 2
  }

  .terjeon-location .treatment-name {
    font-size: 1.8rem
  }

  .terjeon-location .treatment-row .ff-ico {
    grid-column: 3;
    grid-row: 1
  }
}
/* terjeon-journal */
.terjeon-journal {
  position: relative;
  overflow: hidden;
  padding-top: 12rem;
  padding-bottom: 12rem;
  background: var(--body-bg);
  color: var(--primary)
}

.terjeon-journal .contents-container {
  max-width: 144rem;
  padding-left: 6rem;
  padding-right: 6rem;
  margin: 0 auto
}

.terjeon-journal .eyebrow {
  font-size: 1.1rem;
  letter-spacing: .18em;
  color: var(--secondary);
  margin-bottom: 2.4rem
}

.terjeon-journal h2 {
  font-family: var(--ff-ko3), Georgia, serif;
  font-size: 5rem;
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: -.055em;
  margin-bottom: 2.8rem
}

.terjeon-journal h3 {
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 1.6rem
}

.terjeon-journal p {
  font-size: 1.7rem;
  line-height: 1.9;
  margin-bottom: 1.6rem
}

.terjeon-journal .fine {
  font-size: 1.3rem;
  opacity: .7
}

.terjeon-journal .split {
  display: block;
  grid-template-columns: 1fr 1fr;
  gap: 8rem;
  align-items: center;
  text-align: center;
  max-width: 95rem;
  margin: auto
}

.terjeon-journal img {
  max-width: 100%;
  display: block;
  height: auto
}

.terjeon-journal .photo {
  width: 100%;
  object-fit: contain
}

.terjeon-journal .btnset {
  margin-top: 2rem;
  min-height: 5.6rem;
  font-size: 1.5rem;
  gap: 2rem;
  border-radius: 0
}

.terjeon-journal .actions {
  display: flex;
  gap: 1.6rem;
  flex-wrap: wrap;
  justify-content: center
}

.terjeon-journal details {
  border-top: .1rem solid var(--line-color1);
  padding: 2rem 0
}

.terjeon-journal summary {
  font-size: 1.8rem;
  cursor: pointer;
  line-height: 1.7
}

.terjeon-journal details p {
  padding-top: 1.8rem
}

.terjeon-journal details img {
  margin-top: 2rem
}

.terjeon-journal .rule {
  padding: 2rem 0;
  border-bottom: .1rem solid var(--line-color1)
}

.terjeon-journal .quote {
  font-family: var(--ff-ko3), Georgia, serif;
  font-size: 4rem;
  line-height: 1.7;
  letter-spacing: -.03em;
  margin: 3rem 0
}

.terjeon-journal .grid3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem
}

.terjeon-journal .step {
  border-top: .1rem solid var(--secondary);
  padding-top: 2.4rem
}

.terjeon-journal .number {
  font: italic 3rem Georgia, serif;
  color: var(--secondary);
  margin-bottom: 2rem;
  display: block
}

.terjeon-journal .split>div:last-child {
  margin-top: 4rem;
  padding-top: 4rem;
  border-top: .1rem solid var(--line-color1)
}

@media (max-width:992px) {
  .terjeon-journal {
    padding-top: 6rem;
    padding-bottom: 6rem
  }

  .terjeon-journal .contents-container {
    padding-left: 2.4rem;
    padding-right: 2.4rem
  }

  .terjeon-journal .split,
  .terjeon-journal .grid3 {
    grid-template-columns: 1fr;
    gap: 3.6rem
  }

  .terjeon-journal h2 {
    font-size: 3.6rem
  }

  .terjeon-journal .quote {
    font-size: 2.8rem
  }

  .terjeon-journal .split {
    grid-template-columns: 1fr;
    gap: 4rem
  }

  .terjeon-journal .split>div:first-child,
  .terjeon-journal .split>div:last-child {
    order: initial
  }

  .terjeon-journal .process {
    padding: 3rem;
    margin-top: 5rem;
    margin-bottom: 5rem
  }

  .terjeon-journal .price {
    font-size: 5rem
  }

  .terjeon-journal .source-pair {
    grid-template-columns: 1fr
  }

  .terjeon-journal summary.treatment-row {
    grid-template-columns: 3rem 1fr 2rem;
    gap: 1rem;
    min-height: 15rem;
    padding: 2.5rem 0
  }

  .terjeon-journal .treatment-en {
    font-size: 2.5rem
  }

  .terjeon-journal .treatment-info {
    grid-column: 2;
    grid-row: 2
  }

  .terjeon-journal .treatment-name {
    font-size: 1.8rem
  }

  .terjeon-journal .treatment-row .ff-ico {
    grid-column: 3;
    grid-row: 1
  }
}
/* terjeon-footer */
.terjeon-footer {
  position: relative;
  overflow: hidden;
  padding-top: 10rem;
  padding-bottom: 4rem;
  background: var(--primary);
  color: var(--white)
}

.terjeon-footer .footer-container {
  max-width: 144rem;
  margin: 0 auto;
  padding: 0 4rem;
  padding-left: 6rem;
  padding-right: 6rem
}

.terjeon-footer .footer-cta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 4rem;
  padding-bottom: 8rem;
  border-bottom: .1rem solid var(--secondary)
}

.terjeon-footer .eyebrow {
  font-size: 1.2rem;
  letter-spacing: .18em;
  color: var(--secondary);
  margin-bottom: 2rem
}

.terjeon-footer h2 {
  font-family: Georgia, "Noto Serif KR", serif;
  font-size: 4.2rem;
  line-height: 1.5;
  font-weight: 400
}

.terjeon-footer p {
  font-size: 1.4rem;
  line-height: 1.9;
  margin-top: 2rem
}

.terjeon-footer .btnset {
  border-radius: 0;
  white-space: nowrap
}

.terjeon-footer .footer-bottom {
  display: flex;
  gap: 8rem;
  padding-top: 5rem
}

.terjeon-footer .footer-logo {
  font-size: 2.6rem;
  white-space: nowrap
}

.terjeon-footer .footer-logo small {
  font-size: 1.1rem;
  letter-spacing: .3em
}

.terjeon-footer a {
  color: inherit
}

.terjeon-footer .footer-txt p {
  margin: 0;
  opacity: .8
}

.terjeon-footer .footer-gnb {
  display: flex;
  flex-wrap: wrap;
  gap: 2.5rem;
  list-style: none;
  padding: 0;
  margin-top: 4rem;
  font-size: 1.3rem
}

.terjeon-footer .copyright {
  font-size: 1rem;
  letter-spacing: .1em;
  opacity: .55;
  margin-top: 3rem
}

.terjeon-footer .footer-cta h2 {
  font-family: var(--ff-ko3), Georgia, serif;
  font-size: 5.6rem
}

@media (max-width:992px) {
  .terjeon-footer {
    padding-top: 6rem;
    padding-bottom: 3rem
  }

  .terjeon-footer .footer-container {
    padding: 0 2.4rem;
    padding-left: 2.4rem;
    padding-right: 2.4rem
  }

  .terjeon-footer .footer-cta,
  .terjeon-footer .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 3rem
  }

  .terjeon-footer h2 {
    font-size: 3rem
  }

  .terjeon-footer .footer-cta h2 {
    font-size: 3.6rem
  }
}