body {
  background-color: #f6f6f6; color: #222
}
.package_header {
  --header-background: #fff; --header-border-bottom: rgba(0, 0, 0, 0.1) 1px solid; --header-anchor-color: #222; --header-anchor-hover-color: #3e868f; --header-border-top: transparent 2px solid; --header-anchor-font-size: 16px; --header-anchor-font-weight: normal; --header-sticky-background: #fff; --header-sticky-anchor-color: #222; --header-navicon-color: #222; --header-mobile-mainmenu-background: rgba(255, 255, 255, 0.9); --header-mobile-anchor-color: #222; --header-mobile-menu-li-border-bottom: rgba(0, 0, 0, 0.3) 1px dashed
}
.package_header div.lang {
  display: none
}
.package_header div.lang[slot=navicon-right] {
  margin-right: var(--page-gap)
}
.package_header div.lang.slotted {
  display: block
}
.package_header web-universal-langswitcher {
  --langswitcher-options-background: rgba(0, 0, 0, 0.7); --langswitcher-options-font-color: #fff
}
.package_banner {
  --banner-dot-active-background: #ffffff
}
.package_banner::part(title) {
  color: #ffffff; font-size: 4.8rem; font-weight: lighter
}
.package_banner::part(subtitle) {
  color: #ffffff; font-size: 4rem; font-weight: lighter
}
.package_banner::part(link) {
  background: #fff; color: #222; padding: calc(var(--page-gap) / 2) var(--page-gap); border: #222 1px solid
}
.package_banner::part(link):hover {
  background: #222; color: #fff
}
.package_banner::part(mask) {
  background: rgba(0, 0, 0, 0.8)
}
.package_footer {
  width: 100%; position: relative; z-index: 200; --footer-background: #fff; --footer-font-color: #222; --footer-copyright-font-color: #666; --footer-logo-filter: none; --footer-media-icon-border: rgba(0, 0, 0, 0.3) 1px solid; --footer-media-icon-color: #222; --footer-media-qrocde-triangle-color: #222
}
.package_footer::part(container) {
  border-top: rgba(0, 0, 0, 0.1) 1px solid
}
.package_footer::part(bottom) {
  padding-top: var(--page-gap)
}
.package_footer::part(h3) {
  display: inline-block; font-size: 1.6rem; padding-bottom: 1rem; border-bottom: #222 2px solid
}
.package_section {
  width: 100%; padding: var(--page-gap) 0px calc(var(--page-gap) * 1.5) 0px
}
.package_section h3 {
  position: relative
}
.package_section h3 span {
  display: block; font-size: 2.8rem; line-height: 120%; color: #222; font-weight: normal; text-align: center; position: relative; z-index: 200
}
.package_more {
  width: 100%; padding-top: var(--page-gap); text-align: center
}
.package_more a {
  display: inline-block; padding: calc(var(--page-gap) / 2) var(--page-gap); background: #fff; border: #222 1px solid; color: #222; transition: all 0.3s ease
}
.package_more a:hover {
  background: #222; color: #fff
}
.package_main {
  width: 100%; padding: var(--page-gap) 0px calc(var(--page-gap) * 2) 0px; display: none
}
.package_main.slotted {
  display: block
}
.package_work_main {
  width: 100%; padding-top: var(--page-gap)
}
.package_work_main jtbc-fader.items {
  width: 100%; display: grid; gap: var(--page-gap); grid-template-columns: repeat(3, 1fr)
}
.package_work_main jtbc-fader.items div.item {
  transform: translate(0px, var(--page-gap)); opacity: 0; transition: all .6s ease
}
.package_work_main jtbc-fader.items div.item p[type=image] img {
  width: 100%; display: block
}
.package_work_main jtbc-fader.items div.item p[type=title] {
  width: 100%; padding-top: calc(var(--page-gap) / 2); text-align: center
}
.package_work_main jtbc-fader.items div.item p[type=title] a {
  font-size: 1.6rem; line-height: 160%; color: #404040
}
.package_work_main jtbc-fader.items div.item p[type=subtitle] {
  font-size: 1.4rem; line-height: 160%; color: #999; text-align: center
}
.package_work_main jtbc-fader.items div.item[fade=in] {
  transform: translate(0px, 0px); opacity: 1
}
.package_work_main div.main {
  width: 100%; display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between
}
.package_work_main div.main div.service {
  width: calc(25% - var(--page-gap)); font-size: 1.4rem; color: #999; line-height: 200%
}
.package_work_main div.main div.text {
  width: 75%; font-size: 1.4rem; color: #222; line-height: 200%
}
.package_work_main div.content {
  width: 100%; padding-top: var(--page-gap)
}
.package_work_main div.content div.image {
  width: 100%; padding-bottom: calc(var(--page-gap) * 1)
}
.package_work_main div.content div.image img {
  width: 100%; display: block
}
.package_work_main div.content div.video {
  width: 100%; padding-bottom: calc(var(--page-gap) * 1)
}
.package_work_main div.content div.video video {
  width: 100%; display: block
}
.package_work_main div.content div.text {
  width: 80%; margin: auto; padding-bottom: calc(var(--page-gap) * 1); font-size: 1.4rem; color: #222; line-height: 200%
}
.package_work_main div.links {
  width: 100%; display: flex; justify-content: space-between; padding-top: calc(var(--page-gap) * 1.5)
}
.package_work_main div.links dl dt {
  font-size: 1.6rem; padding-bottom: 1rem; font-weight: normal
}
.package_work_main div.links dl a {
  font-size: 1.4rem; color: #3e868f; display: inline-block; padding-bottom: 2px; border-bottom: transparent 1px solid
}
.package_work_main div.links dl a:hover {
  border-color: #3e868f
}
.package_work_main div.links dl dd:empty::after {
  content: attr(empty); color: #999999
}
.package_work_main div.links dl:last-child dt,
.package_work_main div.links dl:last-child dd {
  text-align: right
}
.package_about_main div.brief {
  width: 100%; box-sizing: border-box; display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between
}
.package_about_main div.brief div.image {
  width: calc(50% - calc(var(--page-gap) * 2))
}
.package_about_main div.brief div.image img {
  display: block; width: 100%
}
.package_about_main div.brief div.text {
  width: 50%
}
.package_about_main div.brief div.text div.content {
  padding: 0px
}
.package_service_main div.items {
  width: 100%; display: grid; gap: var(--page-gap); grid-template-columns: repeat(3, 1fr)
}
.package_service_main div.items div.item div.icon {
  width: 100%; padding: var(--page-gap) 0px; text-align: center
}
.package_service_main div.items div.item div.icon jtbc-svg {
  width: 60px; height: 60px; --fore-color: #3e868f
}
.package_service_main div.items div.item div.title {
  width: 100%; padding-bottom: var(--page-gap); text-align: center; font-size: 2.4rem; line-height: 160%; color: #404040
}
.package_service_main div.items div.item div.intro {
  width: 70%; margin: auto; padding-bottom: var(--page-gap); font-size: 1.4rem; line-height: 160%; color: #999; text-align: left
}
.package_service_main div.items div.item div.service {
  width: 70%; margin: auto
}
.package_service_main div.items div.item div.service ul {
  list-style: disc; padding-left: 2rem
}
.package_service_main div.items div.item div.service ul li {
  font-size: 1.4rem; line-height: 200%; color: #404040
}
.package_team_main div.items {
  width: 100%; display: grid; grid-template-columns: 1fr 1fr 1fr; grid-gap: var(--page-gap)
}
.package_team_main div.items div.item {
  width: 100%; box-sizing: border-box
}
.package_team_main div.items div.item div.image img {
  display: block; width: 100%
}
.package_team_main div.items div.item div.text {
  width: 100%; box-sizing: border-box
}
.package_team_main div.items div.item div.text p.title {
  padding: var(--page-gap) 0px; font-size: 2.4rem; line-height: 120%; border-bottom: #d1d1d1 1px dashed
}
.package_team_main div.items div.item div.text p.title a {
  display: inline-block; padding-bottom: 0.4rem; color: #222; border-bottom: transparent 1px dashed; transition: all 0.3s ease
}
.package_team_main div.items div.item div.text p.title a:hover {
  color: #222; border-color: #222
}
.package_team_main div.items div.item div.text p.title em {
  display: inline-block; font-style: normal; font-size: 1.4rem; padding-left: 1rem; color: #999999
}
.package_team_main div.items div.item div.text p.intro {
  padding: var(--page-gap) 0px; font-size: 1.2rem; line-height: 160%; color: #999999
}
.package_team_main div.info div.image {
  width: 100%; display: flex; align-items: center; justify-content: center
}
.package_team_main div.info div.image img {
  display: block; max-width: 100%
}
.package_team_main div.info div.content {
  width: 75%; margin: auto; padding-top: var(--page-gap)
}
.package_contact_main div.contact {
  width: 100%; box-sizing: border-box; display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between
}
.package_contact_main div.contact div.map {
  width: calc(50% - calc(var(--page-gap) * 2))
}
.package_contact_main div.contact div.info {
  width: 50%
}
.package_contact_main div.contact div.info h3 {
  font-size: 3.2rem; padding-bottom: calc(var(--page-gap) * 2); font-weight: lighter
}
.package_contact_main div.contact div.info ul li {
  padding-bottom: var(--page-gap); display: flex; flex-wrap: wrap; align-items: center
}
.package_contact_main div.contact div.info ul li span.icon {
  display: inline-block; width: 50px; height: 50px; box-sizing: border-box; padding: 1rem; background: #222
}
.package_contact_main div.contact div.info ul li span.icon jtbc-svg {
  display: block; width: 100%; height: 100%; --fore-color: #fff
}
.package_contact_main div.contact div.info ul li span.text {
  display: inline-block; padding-left: var(--page-gap); font-size: 1.8rem
}
.package_contact_main div.contact div.info ul li span.text a {
  color: #222; transition: all 0.3s ease
}
.package_contact_main div.contact div.info ul li span.text a:hover {
  color: #3e868f
}
@media screen and (max-width: 1280px) {
  .package_work_main jtbc-fader.items {
    grid-template-columns: repeat(2, 1fr)
  }
}
@media screen and (max-width: 960px) {
  .package_banner::part(title) {
    font-size: 3rem
  }
  .package_banner::part(subtitle) {
    font-size: 2.4rem
  }
  .package_work_main jtbc-fader.items {
    grid-template-columns: repeat(1, 1fr)
  }
  .package_work_main h3 {
    font-size: 2.4rem
  }
  .package_work_main h3 {
    font-size: 2rem
  }
  .package_work_main div.content div.text {
    width: 100%; font-size: 1.2rem
  }
  .package_about_main div.brief div.image {
    width: 100%; padding-bottom: calc(var(--page-gap) * 2)
  }
  .package_about_main div.brief div.text {
    width: 100%
  }
  .package_service_main div.items {
    grid-template-columns: repeat(1, 1fr)
  }
  .package_service_main div.items div.item div.title {
    font-size: 1.8rem
  }
  .package_service_main div.items div.item div.intro,
  .package_service_main div.items div.item div.service {
    width: 100%
  }
  .package_team_main div.items {
    grid-template-columns: 1fr
  }
  .package_team_main div.info {
    flex-direction: column-reverse
  }
  .package_team_main div.info div.content {
    width: 100%
  }
  .package_team_main div.info div.image {
    width: 100%
  }
  .package_news_main div.items div.item div.image {
    width: 100%
  }
  .package_contact_main div.contact div.map {
    width: 100%; padding-bottom: calc(var(--page-gap) * 2)
  }
  .package_contact_main div.contact div.info {
    width: 100%
  }
}