@font-face {
  font-family: 'BebasNeue';
  src: url(../font/BebasNeue/BebasNeue-Regular.ttf);
}
body {
  background: #ffffff; color: #999999
}
body[footer=renderend] {
  background: #c4c0b9
}
.package_header {
  --header-background: transparent; --header-border-bottom: rgba(255, 255, 255, 0.1) 1px solid; --header-anchor-color: #ffffff; --header-anchor-hover-color: #c4c0b9; --header-border-top: transparent 2px solid; --header-anchor-font-size: 1.4rem; --header-anchor-font-weight: normal; --header-sticky-background: #000000; --header-sticky-anchor-color: #ffffff; --header-submenu-background: #c4c0b9; --header-submenu-anchor-color: #000000; --header-submenu-anchor-hover-background: #ffffff; --header-submenu-anchor-hover-color: #000000; --header-navicon-color: #ffffff; --header-mobile-mainmenu-background: rgba(0, 0, 0, 0.9); --header-mobile-anchor-color: #ffffff; --header-mobile-menu-li-border-bottom: rgba(255, 255, 255, 0.3) 1px dashed
}
.package_header::part(placeholder) {
  display: none
}
.package_header div.right {
  display: none; padding-right: var(--page-gap); align-items: center
}
.package_header div.right span.icon {
  padding-right: 1rem
}
.package_header div.right span.icon jtbc-svg {
  width: 30px; height: 30px; --fore-color: #c4c0b9
}
.package_header div.right u {
  text-decoration: none; font-size: 1.8rem; color: #c4c0b9
}
.package_header div.right.slotted {
  display: flex
}
.package_banner {
  --banner-height: min(840px, 100vh); --banner-min-height: 600px; --banner-dot-active-background: #000000
}
.package_banner::part(wrap) {
  position: relative; margin-top: calc(0px - var(--page-gap) * 4)
}
.package_banner::part(wrap)::after {
  content: ''; width: 450px; height: 450px; background: rgba(255, 255, 255, 0.1); backdrop-filter: blur(3px); transform: translate(25%, -50%); clip-path: polygon(0% 0%, 0% 100%, 25% 100%, 25% 25%, 75% 25%, 75% 75%, 25% 75%, 25% 100%, 100% 100%, 100% 0%); position: absolute; top: 50%; left: 0px; z-index: -100
}
.package_banner::part(mask) {
  background-image: linear-gradient(to right top, rgba(0, 0, 0, 0.75), rgba(18, 18, 18, 0.75), rgba(29, 29, 29, 0.75), rgba(40, 40, 40, 0.75), rgba(51, 51, 51, 0.75))
}
.package_banner::part(title) {
  text-shadow: 1px 1px 2px rgba(51, 51, 51, 0.3)
}
.package_banner::part(subtitle) {
  font-family: 'BebasNeue'; font-size: 1.8rem; text-shadow: 1px 1px 2px rgba(51, 51, 51, 0.1)
}
.package_banner::part(link) {
  background: #c4c0b9; color: #181818; border-radius: 2rem
}
.package_banner::part(link):hover {
  background: #181818; color: #ffffff
}
.package_container {
  --container-background: #181818; --container-headline-mask-background: linear-gradient(to right top, rgba(0, 0, 0, 0.75), rgba(18, 18, 18, 0.75), rgba(29, 29, 29, 0.75), rgba(40, 40, 40, 0.75), rgba(51, 51, 51, 0.75)); --container-headline-min-height: 240px
}
.package_container::part(headline-subtitle) {
  font-family: 'BebasNeue'; display: inline-block; line-height: 100%; padding: calc(var(--page-gap) / 2) calc(var(--page-gap) / 1); font-size: 3rem; color: #ffffff
}
.package_container[bg=aboutus],
.package_container[bg=case] {
  --container-background: #282828
}
.package_footer {
  --footer-background: transparent; --footer-font-color: #181818; --footer-copyright-font-color: #333333; --footer-card-font-color: #181818; --footer-media-icon-color: #181818; --footer-media-qrocde-triangle-color: #181818; --footer-media-icon-border: rgba(24, 24, 24, 0.3) 1px solid; --footer-logo-filter: grayscale(100%) brightness(0); position: relative; z-index: 200
}
.package_footer::part(container) {
  background: #c4c0b9
}
.package_footer::part(bottom) {
  padding-top: var(--page-gap)
}
.package_footer::part(h3) {
  display: inline-block; padding-bottom: calc(var(--page-gap) / 2); font-size: 1.6rem; border-bottom: #181818 2px solid
}
.package_footer::part(copyright-box) {
  border-top: rgba(24, 24, 24, 0.1) 1px dashed
}
.package_section {
  width: 100%; margin-top: var(--page-gap); padding-bottom: var(--page-gap)
}
.package_section h3 {
  display: flex; align-items: center; justify-content: center; flex-wrap: nowrap
}
.package_section h3 span {
  display: block; font-size: 3.2rem; line-height: 120%; color: #ffffff; font-weight: normal; letter-spacing: 4px; padding-left: 6px
}
.package_section h3::after {
  content: ''; display: block; width: 40px; height: 2px; background: #ffffff
}
.package_section h3::before {
  content: ''; display: block; width: 40px; height: 2px; background: #ffffff
}
.package_links {
  width: 100%; display: flex; justify-content: space-between; padding-top: calc(var(--page-gap) * 1.5)
}
.package_links dl dt {
  font-size: 1.4rem; padding-bottom: 1rem; font-weight: normal; color: #c4c0b9
}
.package_links dl a {
  font-size: 1.4rem; color: #ffffff; display: inline-block; padding-bottom: 2px; border-bottom: transparent 1px dashed
}
.package_links dl a:hover {
  border-color: #ffffff
}
.package_links dl dd:empty::after {
  content: attr(empty); color: #999999
}
.package_links dl:last-child dt,
.package_links dl:last-child dd {
  text-align: right
}
.package_main {
  display: none; padding: var(--page-gap) 0px
}
.package_main.slotted {
  display: block
}
.package_main div.cushion {
  width: 100%; display: none
}
.package_main div.cushion.slotted {
  display: block
}
.package_main jtbc-tiny-pagination {
  --pagination-background: transparent; --pagination-color-hover: #ffffff
}
.package_aboutus_main {
  position: relative; z-index: 180
}
.package_aboutus_main div.main {
  width: 100%; box-sizing: border-box; padding: var(--page-gap) 0px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; flex-direction: row-reverse
}
.package_aboutus_main div.main div.text {
  width: calc(100% - 400px - var(--page-gap) * 5)
}
.package_aboutus_main div.main div.text p.title {
  font-size: 3.2rem; padding-bottom: calc(var(--page-gap) * 2); line-height: 120%; color: #ffffff
}
.package_aboutus_main div.main div.text p.intro {
  font-size: 1.4rem; padding-bottom: calc(var(--page-gap) * 2); line-height: 160%; color: #999999
}
.package_aboutus_main div.main div.text div.services {
  display: grid; grid-template-columns: 1fr 1fr 1fr; gap: var(--page-gap)
}
.package_aboutus_main div.main div.text div.services div.service {
  width: 100%; background: #c4c0b9; box-sizing: border-box; padding: calc(var(--page-gap) * 2); box-shadow: 0px 2px 2px rgb(0 0 0 / 5%)
}
.package_aboutus_main div.main div.text div.services div.service p.icon {
  padding-bottom: var(--page-gap); text-align: center
}
.package_aboutus_main div.main div.text div.services div.service p.icon jtbc-svg {
  width: 50px; height: 50px; --fore-color: #181818
}
.package_aboutus_main div.main div.text div.services div.service p.href {
  text-align: center
}
.package_aboutus_main div.main div.text div.services div.service p.href a {
  display: inline-block; font-size: 1.4rem; font-weight: bold; color: #181818; padding-bottom: 0.2rem; border-bottom: transparent 1px dashed
}
.package_aboutus_main div.main div.text div.services div.service p.href a:hover {
  border-color: #181818
}
.package_aboutus_main div.main div.image {
  width: 400px
}
.package_aboutus_main div.main div.image img {
  display: block; width: 100%; box-shadow: 0px 2px 2px rgb(0 0 0 / 5%)
}
.package_aboutus_main div.data {
  width: 100%; box-sizing: border-box; display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; gap: var(--page-gap); margin-bottom: calc(var(--page-gap) * 2); padding: calc(var(--page-gap) * 2); background: #c4c0b9; overflow: hidden; box-shadow: 0px 2px 2px rgb(0 0 0 / 5%)
}
.package_aboutus_main div.data div.item {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between
}
.package_aboutus_main div.data div.item div.text {
  width: 100%
}
.package_aboutus_main div.data div.item div.text div.number {
  font-family: 'BebasNeue'; font-size: 4rem; font-weight: normal; color: #181818; text-align: center
}
.package_aboutus_main div.data div.item div.text div.number em {
  font-size: 1.4rem; font-style: normal; padding-left: 0.2rem; color: #404040
}
.package_aboutus_main div.data div.item div.text div.intro {
  font-size: 1.4rem; padding-top: calc(var(--page-gap) / 4); color: #666666; text-align: center
}
.package_aboutus_main div.gallery {
  display: grid; grid-template-columns: 1fr 1fr 1fr; gap: var(--page-gap); padding-top: var(--page-gap)
}
.package_aboutus_main div.gallery div.picture img {
  width: 100%; display: block; cursor: pointer; box-shadow: 0px 2px 2px rgb(0 0 0 / 5%)
}
.package_aboutus_main[place=home] div.main {
  margin-top: calc(0px - var(--page-gap) * 8); background: #000000; padding: calc(var(--page-gap) * 2); box-shadow: 0px 2px 2px rgb(0 0 0 / 5%)
}
.package_service_main div.main {
  width: 100%; margin-top: var(--page-gap); overflow: hidden
}
.package_service_main div.main div.item {
  width: 100%; background: rgba(255, 255, 255, 0.05); box-sizing: border-box; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between
}
.package_service_main div.main div.item:nth-child(odd) {
  flex-direction: row-reverse
}
.package_service_main div.main div.item div.image {
  width: 50%
}
.package_service_main div.main div.item div.image img {
  width: 100%; display: block
}
.package_service_main div.main div.item div.text {
  width: 50%; box-sizing: border-box; padding: var(--page-gap) calc(var(--page-gap) * 2)
}
.package_service_main div.main div.item div.text p.title {
  padding-bottom: var(--page-gap); font-size: 3rem
}
.package_service_main div.main div.item div.text p.title a {
  display: inline-block; padding-bottom: 0.2rem; color: #ffffff; border-bottom: transparent 1px dashed; transition: all 0.3s ease
}
.package_service_main div.main div.item div.text p.title a:hover {
  border-color: #ffffff
}
.package_service_main div.main div.item div.text p.info {
  width: 100%; padding-top: var(--page-gap); font-size: 1.4rem; color: #999999; line-height: 160%
}
.package_service_main div.main div.item div.text p.more {
  width: 100%; padding-top: var(--page-gap)
}
.package_service_main div.main div.item div.text p.more a {
  display: inline-block; padding: calc(var(--page-gap) / 2) calc(var(--page-gap) * 2); font-size: 1.4rem; line-height: 100%; background: #c4c0b9; color: #181818; border-radius: 3rem; transition: all 0.3s ease
}
.package_service_main div.main div.item div.text p.more a:hover {
  background: #ffffff; color: #000000
}
.package_service_main div.items {
  width: 100%; padding-top: var(--page-gap)
}
.package_service_main div.items div.item {
  width: 100%; box-sizing: border-box; background: rgba(255, 255, 255, 0.05); margin-bottom: var(--page-gap); padding: calc(var(--page-gap) * 2); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; overflow: hidden; box-shadow: 0px 2px 2px rgb(0 0 0 / 5%)
}
.package_service_main div.items div.item div.image {
  width: 40%
}
.package_service_main div.items div.item div.image img {
  width: 100%; display: block
}
.package_service_main div.items div.item div.text {
  width: calc(60% - var(--page-gap) * 2)
}
.package_service_main div.items div.item div.text p.icon {
  padding-bottom: var(--page-gap)
}
.package_service_main div.items div.item div.text p.icon jtbc-svg {
  width: 60px; height: 60px; --fore-color: #c4c0b9
}
.package_service_main div.items div.item div.text p.title {
  padding-bottom: var(--page-gap); font-size: 3rem; border-bottom: rgba(255, 255, 255, 0.2) 1px dashed
}
.package_service_main div.items div.item div.text p.title a {
  display: inline-block; padding-bottom: 0.2rem; color: #ffffff; border-bottom: transparent 1px dashed; transition: all 0.3s ease
}
.package_service_main div.items div.item div.text p.title a:hover {
  border-color: #ffffff
}
.package_service_main div.items div.item div.text p.info {
  width: 100%; padding-top: var(--page-gap); font-size: 1.4rem; color: #999; line-height: 160%
}
.package_case_main div.items {
  width: 100%; padding-top: var(--page-gap); display: grid; grid-template-columns: 1fr 1fr 1fr; grid-gap: var(--page-gap)
}
.package_case_main div.items div.item {
  background: rgba(255, 255, 255, 0.05)
}
.package_case_main div.items div.item div.image img {
  display: block; width: 100%
}
.package_case_main div.items div.item div.title {
  padding: var(--page-gap) 0px; text-align: center; font-size: 1.6rem; line-height: 120%
}
.package_case_main div.items div.item div.title a {
  display: inline-block; padding-bottom: 0.4rem; color: #ffffff; border-bottom: transparent 1px dashed; transition: all 0.3s ease
}
.package_case_main div.items div.item div.title a:hover {
  color: #ffffff; border-color: #ffffff
}
.package_team_main div.items {
  width: 100%; padding-top: var(--page-gap)
}
.package_team_main div.items div.item {
  width: 100%; box-sizing: border-box; background: rgba(255, 255, 255, 0.05); margin-bottom: var(--page-gap); padding: calc(var(--page-gap) * 2); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; overflow: hidden; box-shadow: 0px 2px 2px rgb(0 0 0 / 5%)
}
.package_team_main div.items div.item div.image {
  width: 180px; position: relative
}
.package_team_main div.items div.item div.image img {
  width: 100%; display: block; position: relative; z-index: 200
}
.package_team_main div.items div.item div.text {
  width: calc(100% - 180px - var(--page-gap) * 2)
}
.package_team_main div.items div.item div.text p.title {
  padding-bottom: var(--page-gap); font-size: 2.4rem; color: #ffffff
}
.package_team_main div.items div.item div.text p.subtitle {
  padding-bottom: var(--page-gap); font-size: 1.4rem; color: rgba(255, 255, 255, 0.2)
}
.package_team_main div.items div.item div.text p.intro {
  width: 100%; font-size: 1.4rem; color: #999; line-height: 160%
}
.package_news_main div.items {
  width: 100%; padding-top: var(--page-gap)
}
.package_news_main div.items div.item {
  width: 100%; box-sizing: border-box; background: rgba(255, 255, 255, 0.05); margin-bottom: var(--page-gap); padding: calc(var(--page-gap) * 2); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; overflow: hidden; box-shadow: 0px 2px 2px rgb(0 0 0 / 5%)
}
.package_news_main div.items div.item div.image {
  width: 220px; box-sizing: border-box; padding-right: calc(var(--page-gap) * 2)
}
.package_news_main div.items div.item div.image img {
  width: 100%; display: block
}
.package_news_main div.items div.item div.text {
  flex: 1
}
.package_news_main div.items div.item div.text p.title {
  padding-bottom: var(--page-gap); font-size: 2.4rem
}
.package_news_main div.items div.item div.text p.title a {
  color: #ffffff; display: inline-block; padding-bottom: 0.2rem; border-bottom: transparent 1px dashed
}
.package_news_main div.items div.item div.text p.title a:hover {
  border-color: #ffffff
}
.package_news_main div.items div.item div.text p.summary {
  width: 100%; font-size: 1.4rem; color: #999; line-height: 160%
}
.package_contactus_main div.items {
  width: 100%; padding: var(--page-gap) 0px calc(var(--page-gap) * 2) 0px; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: var(--page-gap)
}
.package_contactus_main div.items div.item {
  width: 100%; box-sizing: border-box; padding: calc(var(--page-gap) * 2); background: rgba(255, 255, 255, 0.05); overflow: hidden; box-shadow: 0px 2px 2px rgb(0 0 0 / 5%)
}
.package_contactus_main div.items div.item div.icon {
  text-align: center
}
.package_contactus_main div.items div.item div.icon jtbc-svg {
  width: 50px; height: 50px; --fore-color: #c4c0b9
}
.package_contactus_main div.items div.item div.title {
  font-size: 2.4rem; font-weight: bold; color: #ffffff; line-height: 160%; padding: calc(var(--page-gap) * 1) 0px; text-align: center
}
.package_contactus_main div.items div.item div.subtitle {
  font-size: 1.6rem; color: #999999; line-height: 160%; text-align: center
}
.package_contactus_main div.items div.item div.subtitle a {
  font-size: 1.6rem; color: #999999; line-height: 160%; transition: all 0.3s ease
}
.package_contactus_main div.items div.item div.subtitle a:hover {
  color: #ffffff
}
.package_contactus_main div.contact {
  width: 100%; display: grid; grid-template-columns: 1fr 1fr; background: #c4c0b9; overflow: hidden; box-shadow: 0px 2px 2px rgb(0 0 0 / 5%)
}
.package_contactus_main div.contact div.form {
  width: 100%; box-sizing: border-box; padding: calc(var(--page-gap) * 2)
}
.package_contactus_main div.contact div.form div.tip {
  font-size: 1.4rem; color: #333333; padding-bottom: calc(var(--page-gap) * 1)
}
.package_contactus_main div.contact div.form div.message {
  color: #181818
}
.package_contactus_main div.contact div.form input:focus,
.package_contactus_main div.contact div.form textarea:focus {
  border-color: #181818; box-shadow: 0px 0px 2px rgba(24, 24, 24, 0.6)
}
.package_contactus_main div.contact div.form button.b2 {
  width: 100%; background: #181818; border-color: #181818; color: #ffffff
}
.package_contactus_main div.contact div.form button.b2:hover {
  background: #000000; border-color: #000000; color: #ffffff
}
@media screen and (max-width: 1280px) {
  .package_header {
    --header-anchor-padding: 16px
  }
}
@media screen and (max-width: 960px) {
  .package_banner {
    --banner-height: 640px
  }
  .package_banner::part(wrap)::after {
    width: 300px; height: 300px; transform: translate(30%, -50%)
  }
  .package_banner::part(title) {
    font-size: 2.2rem
  }
  .package_banner::part(subtitle) {
    font-size: 1.6rem
  }
  .package_section h3 span {
    font-size: 3rem
  }
  .package_aboutus_main div.main div.text {
    width: 100%
  }
  .package_aboutus_main div.main div.text div.services {
    grid-template-columns: 1fr
  }
  .package_aboutus_main div.main div.image {
    width: 100%; padding-top: calc(var(--page-gap) * 2)
  }
  .package_aboutus_main div.data {
    grid-template-columns: 1fr 1fr; padding: var(--page-gap)
  }
  .package_aboutus_main div.data div.item div.text div.number {
    font-size: 2.4rem
  }
  .package_aboutus_main div.data div.item div.text div.intro {
    font-size: 1.2rem
  }
  .package_aboutus_main div.gallery {
    grid-template-columns: 1fr 1fr
  }
  .package_service_main div.main div.item div.image {
    width: 100%
  }
  .package_service_main div.main div.item div.text {
    width: 100%; padding: calc(var(--page-gap) * 2)
  }
  .package_service_main div.items div.item div.image {
    width: 100%
  }
  .package_service_main div.items div.item div.text {
    width: 100%; padding-top: calc(var(--page-gap) * 2)
  }
  .package_service_main div.items div.item div.text p.icon {
    text-align: center
  }
  .package_service_main div.items div.item div.text p.title {
    font-size: 2.4rem; text-align: center
  }
  .package_case_main div.items {
    grid-template-columns: 1fr
  }
  .package_team_main div.items div.item div.image {
    width: 100%; text-align: center
  }
  .package_team_main div.items div.item div.image::after {
    width: 280px; height: 280px
  }
  .package_team_main div.items div.item div.image img {
    width: 280px; height: 280px; display: inline-block
  }
  .package_team_main div.items div.item div.text {
    width: 100%; padding-top: calc(var(--page-gap) * 2)
  }
  .package_team_main div.items div.item div.text p.title,
  .package_team_main div.items div.item div.text p.subtitle {
    text-align: center
  }
  .package_news_main div.items div.item div.image {
    width: 100%; padding-right: 0px
  }
  .package_news_main div.items div.item div.text {
    width: 100%; padding-top: calc(var(--page-gap) * 2)
  }
  .package_contactus_main div.items {
    grid-template-columns: 1fr
  }
  .package_contactus_main div.contact {
    grid-template-columns: 1fr
  }
}