.header-contact {
  background: #e99535;
  color: #131d66
}

.header-contact:hover {
  background: #f4a950;
  color: #131d66
}

.shutter-top,.shutter-bottom {
  background: #0050a4
}

.shutter>img {
  mix-blend-mode: normal
}

.home-container {
  width: 1160px;
  max-width: calc(100% - 44px);
  margin: 0 auto;
  position: relative
}

.home-connect {
  padding: 100px 0 90px;
  background: linear-gradient(125deg,#e0e0de,#b9b5ac);
  overflow: hidden
}

.home-connect-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 55px;
  align-items: center
}

.home-connect-copy {
  position: relative;
  z-index: 2;
  max-width: 520px
}

.home-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .13em;
  margin: 0 0 25px;
  display: flex;
  align-items: center;
  gap: 12px
}

.home-eyebrow>span {
  display: block;
  width: 8px;
  height: 8px;
  background: #e99535;
  flex: none
}

.home-connect h2 {
  margin: 0 0 35px;
  font-family: "Zen Kaku Gothic New",sans-serif;
  letter-spacing: .05px;
  font-weight: 700
}

.home-connect-small {
  display: block;
  font-size: 22px;
  line-height: 1.5;
  margin-bottom: 10px
}

.home-connect-large {
  display: block;
  font-size: 64px;
  line-height: 1.4
}

.home-connect-copy>p:last-child {
  font-size: 18.4px;
  line-height: 1.8;
  margin: 0
}

.home-connect-visual {
  transform-origin: 100% 100%;
  will-change: transform;
  position: relative
}

.home-connect-visual img {
  width: 100%;
  height: auto;
  display: block;
  background: transparent
}

.home-work {
  padding: 45px 0 100px;
  background: linear-gradient(125deg,#a5a59f,#70716c);
  overflow: hidden;
  color: #fff
}

.home-work-grid {
  display: grid;
  grid-template-columns: 561.44px 561.44px;
  gap: 37.12px;
  align-items: start
}

.home-work-copy {
  position: relative;
  z-index: 2
}

.home-work-copy h3 {
  font: 700 60px/1.9 "Zen Kaku Gothic Antique",sans-serif;
  letter-spacing: .2px;
  margin: 0 0 30px;
  color: #fff
}

.home-work-copy p {
  font-size: 18.4px;
  line-height: 1.6;
  color: #fff;
  margin: 0 0 30px
}

.home-business-button {
  display: inline-flex;
  align-items: center;
  gap: 25px;
  color: #fff;
  background: #27ad3a;
  border-radius: 50px;
  padding: 15px 30px;
  font-size: 18.4px;
  font-weight: 500
}

.home-business-button:hover {
  background: #219432
}

.home-work-photos {
  height: 826px;
  position: relative
}

.home-triangle {
  background: none;
  box-shadow: none;
  border: 0;
  display: block;
  object-fit: contain;
  pointer-events: none
}

.home-work-triangle {
  position: absolute;
  width: 281px;
  height: 209px;
  left: 140px;
  top: 0;
  will-change: transform
}

.home-work-photo {
  position: absolute;
  border-radius: 8px;
  object-fit: cover;
  max-width: none;
  will-change: transform
}

.home-work-photo-one {
  width: 280.72px;
  height: 181.75px;
  left: 23px;
  top: 426.6px;
  z-index: 2
}

.home-work-photo-two {
  width: 460px;
  height: 307px;
  left: 280.72px;
  top: 209px
}

.home-work-photo-three {
  width: 420px;
  height: 280px;
  left: 247.72px;
  top: 546px
}

.home-keyword-heading {
  background: linear-gradient(125deg,#96978f,#676a65);
  color: #fff;
  overflow: hidden
}

.home-keyword-heading .home-container {
  height: 209px;
  display: flex;
  align-items: center
}

.home-keyword-heading h3 {
  font: 700 60px/1.9 "Zen Kaku Gothic Antique",sans-serif;
  letter-spacing: .2px;
  width: 561px;
  margin: 0;
  z-index: 1
}

.home-keyword-triangle {
  position: absolute;
  width: 281px;
  height: 209px;
  top: 0;
  left: 740px;
  will-change: transform
}

.home-keywords {
  background: #1d2088 url('../assets/original-0a500885c673de91.jpg') repeat-x 0 0/1920px 1080px;
  padding: 140px 0;
  animation: home-photos-loop 20s linear infinite;
  overflow: hidden;
  font-size: 18.4px;
  line-height: 1.6
}

.home-keyword-grid {
  width: 1200px;
  max-width: calc(100% - 80px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 32px
}

.home-keyword-card {
  position: relative;
  border: 2px solid #2589d0;
  border-radius: 16px;
  padding: 40px 32px;
  background: #fff;
  box-shadow: 0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;
  text-align: center;
  transform: scale(1.05);
  transition: transform .4s cubic-bezier(.175,.885,.32,1.275),box-shadow .4s
}

.home-keyword-card:hover {
  transform: scale(1.05) translateY(-10px);
  box-shadow: 0 20px 25px -5px #00000026
}

.home-keyword-number {
  position: absolute;
  top: -29px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 64px;
  line-height: 1;
  font-weight: 900;
  color: #1d2088cc
}

.home-keyword-card p {
  font-size: 18.4px;
  line-height: 1.6;
  color: #888;
  margin: 0
}

.home-keyword-card h3 {
  font: 700 34px/1.6 "Zen Kaku Gothic Antique",sans-serif;
  color: #1d2088;
  letter-spacing: 0;
  margin: 0 0 16px
}

.home-keyword-more {
  display: inline-block;
  color: #fff;
  background: linear-gradient(270deg,#1d2088,#3a7bd5,#27ad3a);
  background-size: 200% 200%;
  animation: gradientMove 3s ease infinite;
  padding: 14px 36px;
  border-radius: 50px;
  font-size: 16px;
  line-height: 1.6;
  font-weight: 600;
  transition: transform .3s,box-shadow .3s
}

.home-keyword-more:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 20px #00d2ff80
}

.home-news {
  padding: 6vw 0;
  background: linear-gradient(125deg,#e0e0de,#b9b5ac)
}

.home-news>.home-container>h3,.home-faq>.home-container>h3 {
  font: 700 60px/1.9 "Zen Kaku Gothic Antique",sans-serif;
  letter-spacing: .2px;
  margin: -46px 0 30px
}

.home-news .post {
  margin: 0;
  padding: 0;
  border: 0
}

.home-news .post-content {
  margin: 0;
  padding: 0
}

.home-news .post-date {
  display: block;
  color: #666;
  font-size: 14.72px;
  line-height: 29.44px;
  margin: 0 0 5.888px
}

.home-news .post-title {
  font: 500 26px/1.2 "Zen Kaku Gothic Antique",sans-serif;
  letter-spacing: 0;
  margin: 0 0 10.4px;
  color: #131d66
}

.home-news .post-title a:hover {
  text-decoration: underline
}

.home-news .post-meta {
  margin: 0 0 18px;
  font-size: 16.56px;
  line-height: 1.6
}

.home-news .post-category a {
  background: #1d2088;
  color: #fff;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 700;
  padding: 2px 14px;
  display: inline-block
}

.home-news .entry-content {
  font-size: 18.4px;
  color: #666;
  line-height: 1.6
}

.home-news .entry-content p {
  margin: 0
}

.home-faq {
  background: #d5d8d4;
  padding: 0 0 10px;
  margin: 0 0 80px
}

.home-faq-list {
  padding: 0 16px 30px
}

.home-faq-item {
  border: 1px solid #b7bcb5;
  border-radius: 10px;
  margin-bottom: 8px;
  overflow: hidden;
  background: transparent
}

.home-faq-trigger {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  padding: 10px 18px;
  background: none;
  border: 0;
  color: #131d66;
  text-align: left;
  font-size: 19.32px;
  font-weight: 700;
  line-height: 1.4
}

.home-faq-trigger>span {
  font-size: 24px;
  font-weight: 400;
  line-height: 1;
  width: 18px;
  flex: none
}

.home-faq-answer {
  padding: 18.4px 18.4px 18.4px 27px;
  font-size: 18.4px;
  line-height: 1.6;
  color: #666
}

.home-faq-answer[hidden] {
  display: none
}

.home-faq-answer p {
  margin: 0
}

.reference-cta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  color: #fff;
  min-height: 327px
}

.reference-cta-contact,.reference-cta-line {
  position: relative;
  display: grid;
  place-items: center;
  background-size: cover;
  background-position: center;
  padding: 75px 22px
}

.reference-cta-contact {
  background-image: linear-gradient(#131d669e,#131d669e),url('../assets/original-5e0d6b446f85ce29.jpg')
}

.reference-cta-line {
  background-image: linear-gradient(#27ad3ab8,#27ad3ab8),url('../assets/original-c505949e540b6c54.jpg')
}

.reference-cta-inner {
  width: 400px;
  max-width: 100%;
  text-align: center
}

.reference-cta-inner p {
  margin: 0 0 40px;
  padding: 4px 20px;
  line-height: 29.44px;
  border-radius: 40px;
  background: #fff;
  color: #131d66;
  font-size: 14px;
  font-weight: 700
}

.reference-cta-inner a {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  font: 700 28px/1.35 "Zen Kaku Gothic New",sans-serif;
  letter-spacing: 0;
  padding: 17.5px 35px;
  border: 1px solid #fff;
  color: #f7f7f7;
  background: transparent;
  transition: transform .3s
}

.reference-cta-inner a span {
  font-family: sans-serif;
  font-size: 32px;
  font-weight: 300
}

.reference-cta-inner a:hover {
  transform: scale(1.06)
}

@keyframes home-photos-loop {
  to {
    background-position: -1920px 0
  }
}

.home-connect-copy.is-entered .home-eyebrow,.home-connect-copy.is-entered .home-connect-small,.home-connect-copy.is-entered .home-connect-large {
  animation: home-title-rise .8s both
}

.home-connect-copy.is-entered .home-connect-small {
  animation-delay: .1s
}

.home-connect-copy.is-entered .home-connect-large {
  animation-delay: .2s
}

@keyframes home-title-rise {
  from {
    opacity: 0;
    transform: translateY(26px)
  }
  to {
    opacity: 1;
    transform: translateY(0)
  }
}

@media(max-width:1400px) {
  .home-work-grid {
    grid-template-columns: 1fr 1fr;
    gap: 37px
  }
  .home-work-copy h3 {
    font-size: clamp(44px,4.3vw,60px)
  }
  .home-keyword-grid {
    max-width: calc(100% - 80px)
  }
  .home-keyword-card {
    padding: 40px 22px
  }
  .home-work-photo-two {
    width: 370px;
    height: auto;
    left: 235px
  }
  .home-work-photo-three {
    width: 340px;
    height: auto;
    left: 210px;
    top: 500px
  }
  .home-work-photo-one {
    width: 245px;
    height: auto;
    left: 10px
  }
  .home-keyword-heading h3 {
    font-size: clamp(44px,4.3vw,60px)
  }
}

@media(max-width:1000px) {
  .home-connect-grid {
    gap: 35px
  }
  .home-connect-large {
    font-size: 50px
  }
  .home-connect-copy>p:last-child {
    font-size: 17px
  }
  .home-work-photo-two {
    width: 300px;
    left: 160px
  }
  .home-work-photo-three {
    width: 280px;
    left: 130px;
    top: 460px
  }
  .home-work-photo-one {
    width: 200px;
    left: 0;
    top: 360px
  }
  .home-work-photos {
    height: 700px
  }
  .home-keyword-card h3 {
    font-size: 29px
  }
  .home-keyword-card {
    padding: 40px 14px
  }
  .home-keyword-more {
    padding: 14px 26px
  }
  .home-keyword-triangle {
    left: 70%
  }
}

@media(max-width:760px) {
  .home-container {
    width: auto;
    max-width: none;
    margin: 0 22px
  }
  .home-connect {
    padding: 60px 0
  }
  .home-connect-grid {
    grid-template-columns: minmax(0,1fr);
    gap: 35px
  }
  .home-eyebrow {
    font-size: 10px;
    letter-spacing: .08em;
    margin-bottom: 22px
  }
  .home-connect h2 {
    margin-bottom: 24px
  }
  .home-connect-small {
    font-size: 22px
  }
  .home-connect-large {
    font-size: 42px
  }
  .home-connect-copy>p:last-child {
    font-size: 16px;
    line-height: 1.9
  }
  .home-connect-visual {
    width: 100%;
    max-width: 480px;
    margin: 0 auto
  }
  .home-work {
    padding: 60px 0
  }
  .home-work-grid {
    grid-template-columns: minmax(0,1fr);
    gap: 40px
  }
  .home-work-copy h3 {
    font-size: 34px;
    line-height: 1.6;
    margin: 0 0 26px
  }
  .home-work-copy p {
    font-size: 16px;
    line-height: 1.8
  }
  .home-business-button {
    font-size: 16px;
    padding: 13px 25px
  }
  .home-work-photos {
    height: 360px;
    width: 100%;
    max-width: 480px;
    margin: auto
  }
  .home-work-photo-one {
    width: 52%;
    height: auto;
    left: 0;
    top: 120px
  }
  .home-work-photo-two {
    width: 57%;
    height: auto;
    left: 43%;
    top: 30px
  }
  .home-work-photo-three {
    width: 52%;
    height: auto;
    left: 42%;
    top: 210px
  }
  .home-work-triangle {
    width: 150px;
    height: auto;
    left: 45%;
    top: 0;
    opacity: .7
  }
  .home-keyword-heading .home-container {
    height: auto;
    min-height: 185px;
    padding: 45px 0
  }
  .home-keyword-heading h3 {
    font-size: 34px;
    line-height: 1.5;
    width: 100%;
    max-width: 300px
  }
  .home-keyword-triangle {
    width: 150px;
    height: auto;
    left: 65%;
    top: 15px;
    opacity: .7
  }
  .home-keywords {
    padding: 80px 0
  }
  .home-keyword-grid {
    width: auto;
    max-width: none;
    margin: 0 22px;
    grid-template-columns: minmax(0,1fr);
    gap: 42px
  }
  .home-keyword-card {
    transform: none;
    padding: 34px 26px
  }
  .home-keyword-card:hover {
    transform: translateY(-6px)
  }
  .home-keyword-number {
    font-size: 54px;
    top: -26px
  }
  .home-keyword-card h3 {
    font-size: 32px
  }
  .home-keyword-card p {
    font-size: 18px
  }
  .home-keyword-more {
    padding: 14px 36px
  }
  .home-news {
    padding: 60px 0
  }
  .home-news>.home-container>h3,.home-faq>.home-container>h3 {
    font-size: 34px;
    line-height: 1.6;
    margin: 0 0 28px
  }
  .home-news .post-title {
    font-size: 24px;
    line-height: 1.5
  }
  .home-news .entry-content {
    font-size: 16px;
    line-height: 1.8
  }
  .home-faq {
    padding: 45px 0 25px;
    margin-bottom: 45px
  }
  .home-faq-list {
    padding: 0
  }
  .home-faq-trigger {
    font-size: 17px;
    line-height: 1.6;
    padding: 12px 14px;
    gap: 10px
  }
  .home-faq-answer {
    font-size: 16px;
    padding: 16px 18px 22px 42px
  }
  .reference-cta {
    grid-template-columns: minmax(0,1fr)
  }
  .reference-cta-contact,.reference-cta-line {
    min-height: 280px;
    padding: 50px 22px
  }
  .reference-cta-inner p {
    font-size: 12px;
    line-height: 1.8;
    padding: 7px 14px;
    margin-bottom: 30px
  }
  .reference-cta-inner a {
    font-size: 25px;
    padding: 16px 30px
  }
}

@media(prefers-reduced-motion:reduce) {
  .home-keywords,.home-keyword-more {
    animation: none
  }
  .home-connect-visual,.home-triangle,.home-work-photo {
    transform: none!important
  }
  .home-connect-copy.is-entered * {
    animation: none!important
  }
}

.home-keyword-card h3 {
  line-height: 29.44px;
  margin-bottom: 24px
}

.home-keyword-more {
  line-height: 24px
}

.reference-cta-contact {
  background-image: linear-gradient(rgba(19,29,102,.6),rgba(19,29,102,.6)),url("../assets/original-5e0d6b446f85ce29.jpg")
}

.reference-cta-line {
  background-image: linear-gradient(rgba(39,173,58,.69),rgba(39,173,58,.69)),url("../assets/original-c505949e540b6c54.jpg")
}

.home-work {
  background: linear-gradient(125deg,#e0e0de,#b9b5ac);
  color: #131d66
}

.home-work-copy h3 {
  color: #131d66
}

.home-work-copy p {
  color: #666
}

.reference-cta-contact,.reference-cta-line {
  min-width: 0;
  grid-template-columns: minmax(0,1fr)
}

.reference-cta-inner {
  min-width: 0;
  width: min(400px,100%)
}

@keyframes home-button-gradient {
  0%,100% {
    background-position: 0% 50%
  }
  50% {
    background-position: 100% 50%
  }
}

.home-keyword-more {
  animation-name: home-button-gradient
}

.home-keyword-heading {
  background: linear-gradient(125deg,#737670,#555852)
}

@media(max-width:760px) {
  .home-keyword-triangle {
    opacity: .2
  }
}
