@font-face {
  font-family: 'Oswald';
  src: url(../font/Oswald/Oswald-Regular.ttf);
}
body {
  background: #f8f8f8
}
body[footer=renderend] {
  background: #1f3b50
}
.package_header {
  --header-background: transparent; --header-border-bottom: rgba(255, 255, 255, 0.1) 1px solid; --header-anchor-color: #ffffff; --header-anchor-hover-color: #ffffff; --header-border-top: transparent 2px solid; --header-anchor-font-size: 16px; --header-anchor-font-weight: normal; --header-sticky-background: #1f3b50; --header-sticky-anchor-color: #9eaab3; --header-submenu-background: #2f495c; --header-submenu-anchor-color: #ffffff; --header-submenu-anchor-hover-background: #ffffff; --header-submenu-anchor-hover-color: #1f3b50; --header-navicon-color: #ffffff; --header-mobile-mainmenu-background: rgba(31, 59, 80, 0.9); --header-mobile-anchor-color: #ffffff; --header-mobile-menu-li-border-bottom: rgba(255, 255, 255, 0.1) 1px solid
}
.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: #ffffff
}
.package_header div.right u {
  text-decoration: none; font-family: 'Oswald'; font-size: 1.8rem; color: #ffffff
}
.package_header div.right.slotted {
  display: flex
}
.package_banner {
  --banner-height: min(720px, 100vh); --banner-dot-active-background: #0f3041
}
.package_banner::part(wrap) {
  position: relative; margin-top: calc(0px - var(--page-gap) * 5)
}
.package_banner::part(wrap)::after {
  content: ''; width: 400px; height: 400px; background: rgba(255, 255, 255, 0.1); backdrop-filter: blur(3px); transform: translate(10%, -50%); clip-path: polygon(25% 0%, 100% 0%, 75% 100%, 0% 100%); position: absolute; top: 50%; left: 0px; z-index: -100
}
.package_banner::part(mask) {
  background: rgba(0, 0, 0, 0.5)
}
.package_banner::part(title) {
  text-shadow: 1px 1px 2px rgba(51, 51, 51, 0.3)
}
.package_banner::part(subtitle) {
  font-family: 'Oswald'; font-size: 1.8rem; text-shadow: 1px 1px 2px rgba(51, 51, 51, 0.1)
}
.package_banner::part(link) {
  background: transparent; border: #2f495c 2px solid; color: #a3a3a3
}
.package_banner::part(link):hover {
  background: #2f495c; color: #ffffff
}
.package_container {
  --container-background: #f8f8f8; --container-headline-mask-background: rgba(0, 0, 0, 0.7); --container-headline-subtitle-font-size: 2.4rem; --container-headline-min-height: 220px
}
.package_container::part(headline-title) {
  font-family: 'Oswald'; color: rgba(255, 255, 255, 0.7); transform: translate(0px, 35px)
}
.package_container::part(section) {
  --preset-title-color: #2f495c; --preset-line-secondary-color: #2f495c
}
.package_container::part(section-subtitle)::after {
  content: ''; width: 24px; height: 24px; background: url(../images/img.scale.svg) center center no-repeat; background-size: contain; transform: translate(-50%, 30px)
}
.package_container div.skyline {
  width: 100%; height: 100%; background: url(../images/skyline.svg) bottom center no-repeat
}
.package_container[bg=white] {
  --container-background: #ffffff
}
.package_wave {
  background: #f8f8f8; --wave-layer1-fill: rgba(31, 59, 80, 0.3); --wave-layer2-fill: rgba(31, 59, 80, 0.6); --wave-layer3-fill: rgba(31, 59, 80, 1)
}
.package_footer {
  --footer-background: transparent; position: relative; z-index: 200
}
.package_footer::part(container) {
  background: url(../images/bg.footer.png) #1f3b50 center center no-repeat; background-size: contain
}
.package_footer::part(h3) {
  display: inline-block; padding: 1rem 0px; border-bottom: #d4eae6 2px solid
}
.package_footer::part(copyright-box) {
  border-top: rgba(255, 255, 255, 0.1) 1px solid
}
.package_main {
  display: none; padding-bottom: calc(var(--page-gap) * 2)
}
.package_main jtbc-tiny-pagination {
  --pagination-background: transparent
}
.package_main.slotted {
  display: block
}
.package_main div.preset_category {
  --preset-background: #1f3b50; --preset-anchor-hover-background: #ffc107; --preset-anchor-color: #ffffff; --preset-anchor-hover-color: #1f3b50
}
.package_main div.preset_list {
  --preset-anchor-hover-color: #1f3b50
}
.package_main div.preset_links {
  --preset-anchor-hover-background: #1f3b50; --preset-anchor-hover-color: #ffffff; --preset-anchor-hover-border: #1f3b50 1px solid
}
.package_main div.preset_neighbor_links {
  --preset-color: #1f3b50; --preset-anchor-color: #1f3b50; --preset-anchor-hover-color: #1f3b50
}
.package_aboutus_main {
  position: relative; z-index: 180
}
.package_aboutus_main div.home_box {
  width: 100%; box-sizing: border-box; background: #ffffff; margin-top: calc(0px - var(--page-gap) * 10); padding: calc(var(--page-gap) * 3); padding-bottom: calc(var(--page-gap) * 1); border-top-left-radius: 2rem; border-top-right-radius: 2rem
}
.package_aboutus_main div.home_brief {
  width: 100%; box-sizing: border-box; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: stretch
}
.package_aboutus_main div.home_brief div.title {
  width: 25%; padding-bottom: calc(var(--page-gap) * 1.5)
}
.package_aboutus_main div.home_brief div.title h2 {
  font-size: 3.6rem; font-weight: normal; color: #2b2b2b
}
.package_aboutus_main div.home_brief div.title h3 {
  font-size: 2.4rem; font-family: 'Oswald'; color: #2f495c
}
.package_aboutus_main div.home_brief div.title div.slogan {
  width: 100%; padding: calc(var(--page-gap) * 1.5) 0px; writing-mode: vertical-lr
}
.package_aboutus_main div.home_brief div.title div.slogan p.primary {
  font-size: 2.4rem; letter-spacing: 1rem; color: #000000
}
.package_aboutus_main div.home_brief div.title div.slogan p.secondary {
  padding-left: var(--page-gap); font-size: 1.6rem; letter-spacing: 0.5rem; color: #2b2b2b
}
.package_aboutus_main div.home_brief div.text {
  width: 70%
}
.package_aboutus_main div.home_brief div.text p.intro {
  padding: calc(var(--page-gap) * 1.5) 0px; font-size: 1.4rem; line-height: 200%; color: #666666
}
.package_aboutus_main div.home_brief div.text div.image {
  width: 100%
}
.package_aboutus_main div.home_brief div.text div.image img {
  width: 100%; display: block
}
.package_aboutus_main div.home_brief div.text div.preset_links {
  display: none
}
.package_aboutus_main div.flow {
  width: 100%; box-sizing: border-box; display: flex; gap: var(--page-gap); align-items: center
}
.package_aboutus_main div.flow div.step {
  width: 100%; box-sizing: border-box; padding: calc(var(--page-gap) * 2); border: #d1d1d1 1px solid; position: relative
}
.package_aboutus_main div.flow div.step::before {
  content: attr(step); display: block; position: absolute; top: 0px; left: 0px; font-family: 'Oswald'; font-size: 7rem; font-style: italic; color: rgba(31, 59, 80, 0.1); line-height: 100%
}
.package_aboutus_main div.flow div.step p.icon {
  text-align: center
}
.package_aboutus_main div.flow div.step p.icon jtbc-svg {
  width: 50px; height: 50px; --fore-color: #2f495c
}
.package_aboutus_main div.flow div.step p.text {
  padding-top: var(--page-gap); line-height: 160%; font-size: 1.6rem; color: #1f3b50; text-align: center
}
.package_aboutus_main div.data {
  width: 100%; box-sizing: border-box; display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; gap: var(--page-gap); padding: calc(var(--page-gap) * 2); background: #f8f8f8; border: #d1d1d1 1px solid
}
.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: 'Oswald'; font-size: 4rem; font-weight: normal; color: #1f3b50; 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 1fr; gap: var(--page-gap); padding-top: var(--page-gap)
}
.package_aboutus_main div.gallery div.item {
  width: 100%
}
.package_aboutus_main div.gallery div.item div.image img {
  width: 100%; display: block; cursor: pointer; box-sizing: border-box; border: #d1d1d1 1px solid
}
.package_aboutus_main div.gallery div.item div.title {
  padding: calc(var(--page-gap) / 2) 0px; font-size: 1.4rem; text-align: center
}
.package_aboutus_main[place=home] {
  padding-bottom: 0px !important
}
.package_business_main div.items {
  display: grid; grid-template-columns: 1fr 1fr 1fr; gap: var(--page-gap); padding: var(--page-gap) 0px
}
.package_business_main div.items div.item {
  width: 100%; box-sizing: border-box; padding: calc(var(--page-gap) * 2); background: #ffffff; border: #d1d1d1 1px solid
}
.package_business_main div.items div.icon {
  text-align: center; padding-bottom: var(--page-gap)
}
.package_business_main div.items div.icon jtbc-svg {
  width: 50px; height: 50px; --fore-color: #2f495c
}
.package_business_main div.items div.title {
  text-align: center; padding-bottom: var(--page-gap)
}
.package_business_main div.items div.title a {
  font-size: 2.4rem; color: #2f495c; transition: all 0.3s ease
}
.package_business_main div.items div.title a:hover {
  color: #1f3b50
}
.package_business_main div.items div.intro {
  padding-bottom: var(--page-gap); font-size: 1.4rem; color: #a3a3a3; line-height: 140%
}
.package_business_main div.items div.more {
  text-align: center
}
.package_business_main div.items div.more a {
  display: inline-block; padding: calc(var(--page-gap) / 2) calc(var(--page-gap) * 2); background: transparent; border: #2f495c 2px solid; color: #2f495c; font-size: 1.4rem; transition: all .3s ease
}
.package_business_main div.items div.more a:hover {
  background: #2f495c; color: #f8f8f8
}
.package_team_main div.items {
  width: 100%; display: grid; grid-template-columns: 1fr 1fr 1fr; grid-gap: var(--page-gap); padding: var(--page-gap) 0px
}
.package_team_main div.items div.item {
  width: 100%; box-sizing: border-box; background: #ffffff; border: #d1d1d1 1px solid
}
.package_team_main div.items div.item div.image {
  position: relative
}
.package_team_main div.items div.item div.image img {
  display: block; width: 100%
}
.package_team_main div.items div.item div.image span.subtitle {
  background: rgba(31, 59, 80, 0.8); font-size: 1.4rem; padding: calc(var(--page-gap) / 2); writing-mode: vertical-lr; letter-spacing: 2px; color: #f8f8f8; position: absolute; top: var(--page-gap); right: var(--page-gap); z-index: 100
}
.package_team_main div.items div.item div.text {
  width: 100%; box-sizing: border-box; padding: calc(var(--page-gap) / 2) var(--page-gap)
}
.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: #2f495c; border-bottom: transparent 1px dashed; transition: all 0.3s ease
}
.package_team_main div.items div.item div.text p.title a:hover {
  color: #1f3b50; border-color: #1f3b50
}
.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_news_main {
  width: 100%
}
.package_news_main div.preset_list {
  --preset-particular-font-family: 'Oswald'
}
.package_news_main div.preset_list[nickname=anna] div.items div.item div.date span {
  color: #1f3b50
}
.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: #ffffff; border: #d1d1d1 1px solid
}
.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: #2f495c
}
.package_contactus_main div.items div.item div.title {
  font-size: 2.4rem; font-weight: bold; color: #000000; 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: #222222
}
.package_contactus_main div.contact {
  width: 100%; display: grid; grid-template-columns: 1fr 1fr; background: #ffffff; border: #d1d1d1 1px solid
}
.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: #999999; padding-bottom: calc(var(--page-gap) * 1)
}
.package_contactus_main div.contact div.form button.b2 {
  width: 100%; background: #000000; border-color: #000000; color: #ffffff
}
.package_contactus_main div.contact div.form button.b2:hover {
  background: #2f495c; border-color: #2f495c; color: #f8f8f8
}
@media screen and (max-width: 1280px) {
  .package_header {
    --header-anchor-font-size: 1.4rem; --header-anchor-padding: 15px
  }
}
@media screen and (max-width: 960px) {
  .package_banner {
    --banner-height: 480px
  }
  .package_banner::part(wrap)::after {
    width: 350px; height: 350px; transform: translate(15%, -50%)
  }
  .package_banner::part(title) {
    font-size: 2.2rem
  }
  .package_banner::part(subtitle) {
    font-size: 1.6rem
  }
  .package_container::part(headline-title) {
    transform: translate(0px, 22px)
  }
  .package_aboutus_main div.home_box {
    padding: calc(var(--page-gap) * 1.5); border-top-left-radius: 1rem; border-top-right-radius: 1rem
  }
  .package_aboutus_main div.home_brief div.title,
  .package_aboutus_main div.home_brief div.text {
    width: 100%
  }
  .package_aboutus_main div.home_brief div.title {
    padding-bottom: 0px
  }
  .package_aboutus_main div.home_brief div.title h2 {
    display: none
  }
  .package_aboutus_main div.home_brief div.title h3 {
    font-size: 1.8rem
  }
  .package_aboutus_main div.home_brief div.title div.slogan {
    writing-mode: horizontal-tb; padding-top: var(--page-gap)
  }
  .package_aboutus_main div.home_brief div.title div.slogan p.secondary {
    padding-left: 0px; padding-top: calc(var(--page-gap) / 2)
  }
  .package_aboutus_main div.home_brief div.title div.preset_links {
    display: none
  }
  .package_aboutus_main div.home_brief div.text div.preset_links {
    display: block; padding-bottom: var(--page-gap)
  }
  .package_aboutus_main div.flow {
    flex-wrap: wrap
  }
  .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_business_main div.items {
    grid-template-columns: 1fr
  }
  .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%; padding-bottom: var(--page-gap)
  }
  .package_contactus_main div.items {
    grid-template-columns: 1fr
  }
  .package_contactus_main div.contact {
    grid-template-columns: 1fr
  }
}