@charset "UTF-8";
.ui-back {
 position: fixed;
 z-index: -3;
 top: 0;
 left: 0;
 width: 100%;
 height: 100vh
}
.ui-back video {
 -o-object-fit: cover;
 object-fit: cover;
 -o-object-position: center;
 object-position: center;
 width: 100%;
 height: 100%
}
:where(.color-red) {
 color: var(--red)
}
:where(.ui-section-title) {
 text-align: center
}
:where(.ui-section-title) [lang=en] {
 font-size: 4rem;
 letter-spacing: 0.02em
}
:where(.ui-section-title) :not([lang=en]) {
 font-size: 1.6rem;
 letter-spacing: 0.04em
}
:where(.ui-vert-heading) {
 --line-height: calc(46em/26);
 min-width: var(--line-height);
 font-size: 2.6rem;
 line-height: var(--line-height)
}
.site-loading {
 overflow: hidden scroll;
 overscroll-behavior-y: contain;
 position: fixed;
 z-index: 100;
 top: 0;
 left: 0;
 width: 100vw;
 height: 100vh;
 background-color: #fff;
 -webkit-transition: opacity, -webkit-filter, -webkit-transform;
 transition: opacity, -webkit-filter, -webkit-transform;
 transition: opacity, filter, transform;
 transition: opacity, filter, transform, -webkit-filter, -webkit-transform;
 -webkit-transition-duration: 1.5s;
 transition-duration: 1.5s
}
.site-loading.is-out {
 opacity: 0;
 -webkit-filter: blur(8px);
 filter: blur(8px);
 -webkit-transform: scale(1.35);
 -ms-transform: scale(1.35);
 transform: scale(1.35)
}
body:not(.home) .site-loading {
 display: none
}
.site-loading:before {
 content: "";
 position: absolute;
 z-index: -1;
 inset: 0;
 opacity: 0.056;
 background-image: -webkit-gradient(linear, left top, left bottom, from(#ff0000), color-stop(17.57%, #c8ce28), color-stop(30.62%, #42af52), color-stop(51.85%, #2752e1), color-stop(82.86%, #e10c43), color-stop(93.75%, #ff000a));
 background-image: linear-gradient(to bottom, #ff0000 0%, #c8ce28 17.57%, #42af52 30.62%, #2752e1 51.85%, #e10c43 82.86%, #ff000a 93.75%)
}
.site-loading-item {
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-align: center;
 -ms-flex-align: center;
 align-items: center;
 -webkit-box-pack: center;
 -ms-flex-pack: center;
 justify-content: center;
 min-height: calc(100vh + 1px)
}
.site-loading-item svg {
 display: block;
 width: 120px;
 height: 120px
}
.site-loading-item svg circle {
 fill: none;
 stroke-miterlimit: 10;
 stroke-width: 2px
}
.site-loading-item svg .base {
 stroke: #f4d4d4
}
.site-loading-item svg .progress {
 stroke: var(--red);
 -webkit-transform: rotate(-90deg);
 -ms-transform: rotate(-90deg);
 transform: rotate(-90deg);
 -webkit-transform-origin: center;
 -ms-transform-origin: center;
 transform-origin: center
}
.site-loading-item svg .transform {
 opacity: 0
}
.site-loading-item svg .rose {
 fill: var(--red)
}
.ui-apply {
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-align: center;
 -ms-flex-align: center;
 align-items: center;
 -webkit-box-pack: justify;
 -ms-flex-pack: justify;
 justify-content: space-between;
 width: 100%;
 max-width: 340px;
 height: 70px;
 margin-inline: auto;
 padding-inline: 30px;
 border-radius: 5px;
 background-color: rgba(255, 255, 255, 0.6);
 font-size: 1.8rem;
 letter-spacing: 0.1em;
 line-height: 1em
}
.ui-apply span {
 -webkit-margin-after: 0.15em;
 margin-block-end: 0.15em
}
.ui-apply img {
 width: 23px
}
.ui-apply svg {
 fill: none;
 stroke: currentColor;
 stroke-width: 2;
 width: 23px;
 translate: 0 2px
}
.ui-more {
 display: -ms-grid;
 display: grid;
 -ms-grid-rows: 1fr;
 -ms-grid-columns: 1fr;
 grid-template: 1fr/1fr;
 width: 100%;
 max-width: 320px;
 min-height: calc(46em / 14);
 border-radius: 5px;
 background-color: rgba(255, 255, 255, 0.6);
 font-size: 1.4rem;
 line-height: 1
}
.ui-more > * {
 -ms-grid-row: 1;
 -ms-grid-column: 1;
 grid-area: 1/1;
 -ms-grid-row-align: center;
 align-self: center
}
.ui-more span {
 -webkit-margin-start: calc(88 / 320 * 100%);
 margin-inline-start: calc(88 / 320 * 100%)
}
.ui-more svg {
 fill: none;
 stroke: currentColor;
 -ms-grid-column-align: end;
 justify-self: end;
 width: 30px;
 -webkit-margin-end: calc(64 / 320 * 100%);
 margin-inline-end: calc(64 / 320 * 100%);
 translate: 0 2px
}
.site-message {
 --margin: max(270px, calc(330 / 390 * 100vw));
 position: relative;
 z-index: 0;
 -webkit-margin-after: -1px;
 margin-block-end: -1px;
 -webkit-padding-before: calc(var(--margin) + 80px);
 padding-block-start: calc(var(--margin) + 80px);
 -webkit-padding-after: 70px;
 padding-block-end: 70px
}
.site-message:after {
 content: "";
 opacity: var(--scale);
 position: absolute;
 z-index: -1;
 inset: 0;
 background-image: -webkit-gradient(linear, left bottom, left top, from(white), to(rgba(255, 255, 255, 0)));
 background-image: linear-gradient(to top, white calc(var(--scale) * 60%), rgba(255, 255, 255, 0));
 --button-width-half: 150px;
 --bottom: 70px;
 --button-top: 140px;
 -webkit-clip-path: polygon(0 0, 100% 0, 100% calc(100% - (var(--button-top) - 1px)), calc(50% + var(--button-width-half) - 2px) calc(100% - (var(--button-top) - 1px)), calc(50% + var(--button-width-half) - 4px) calc(100% - var(--button-top)), calc(50% - (var(--button-width-half) - 4px)) calc(100% - var(--button-top)), calc(50% - (var(--button-width-half) - 2px)) calc(100% - (var(--button-top) - 1px)), calc(50% - var(--button-width-half)) calc(100% - (var(--button-top) - 3px)), calc(50% - var(--button-width-half)) calc(100% - (var(--bottom) + 3px)), calc(50% - (var(--button-width-half) - 2px)) calc(100% - (var(--bottom) + 1px)), calc(50% - (var(--button-width-half) - 4px)) calc(100% - var(--bottom)), calc(50% + var(--button-width-half) - 4px) calc(100% - var(--bottom)), calc(50% + var(--button-width-half) - 2px) calc(100% - (var(--bottom) + 1px)), calc(50% + var(--button-width-half)) calc(100% - (var(--bottom) + 3px)), calc(50% + var(--button-width-half)) calc(100% - (var(--button-top) - 3px)), calc(50% + var(--button-width-half) - 2px) calc(100% - (var(--button-top) - 1px)), 100% calc(100% - var(--button-top)), 100% 100%, 0 100%);
 clip-path: polygon(0 0, 100% 0, 100% calc(100% - (var(--button-top) - 1px)), calc(50% + var(--button-width-half) - 2px) calc(100% - (var(--button-top) - 1px)), calc(50% + var(--button-width-half) - 4px) calc(100% - var(--button-top)), calc(50% - (var(--button-width-half) - 4px)) calc(100% - var(--button-top)), calc(50% - (var(--button-width-half) - 2px)) calc(100% - (var(--button-top) - 1px)), calc(50% - var(--button-width-half)) calc(100% - (var(--button-top) - 3px)), calc(50% - var(--button-width-half)) calc(100% - (var(--bottom) + 3px)), calc(50% - (var(--button-width-half) - 2px)) calc(100% - (var(--bottom) + 1px)), calc(50% - (var(--button-width-half) - 4px)) calc(100% - var(--bottom)), calc(50% + var(--button-width-half) - 4px) calc(100% - var(--bottom)), calc(50% + var(--button-width-half) - 2px) calc(100% - (var(--bottom) + 1px)), calc(50% + var(--button-width-half)) calc(100% - (var(--bottom) + 3px)), calc(50% + var(--button-width-half)) calc(100% - (var(--button-top) - 3px)), calc(50% + var(--button-width-half) - 2px) calc(100% - (var(--button-top) - 1px)), 100% calc(100% - var(--button-top)), 100% 100%, 0 100%)
}
.site-message-desc {
 margin-inline: calc(25 / 390 * 100%)
}
.site-message-title {
 font-size: 2.8rem;
 letter-spacing: 0.1em;
 word-break: keep-all
}
.site-message-lead {
 -webkit-margin-before: 15px;
 margin-block-start: 15px;
 font-size: 1.6rem;
 letter-spacing: 0.1em;
 line-height: calc(36em/16)
}
.site-message-more {
 -webkit-margin-before: 40px;
 margin-block-start: 40px
}
.site-effect, .site-effect-view {
 position: absolute;
 z-index: -1;
 bottom: 0;
 left: 0;
 right: 0;
 height: max(calc(782px / 390 * 320), calc(782 / 390 * 100vw))
}
.site-effect-view {
 pointer-events: none
}
.site-effect {
 opacity: 0;
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-align: end;
 -ms-flex-align: end;
 align-items: flex-end;
 -webkit-transition: opacity 6s 4s;
 transition: opacity 6s 4s
}
body.js-back .site-effect {
 opacity: 0.78
}
.site-effect canvas {
 display: block;
 -webkit-transform-origin: bottom center;
 -ms-transform-origin: bottom center;
 transform-origin: bottom center;
 -webkit-transform: scale(calc(var(--scale) * 0.3 + 1)) translate3d(calc(-30 / 486 * 100%), 0, 0);
 transform: scale(calc(var(--scale) * 0.3 + 1)) translate3d(calc(-30 / 486 * 100%), 0, 0)
}
.site-header {
 --top: 35px;
 --side: 25px
}
.site-header-logo {
 position: fixed;
 z-index: 9;
 top: var(--top);
 left: var(--side);
 width: 150px
}
.site-header-logo a {
 display: block
}
.site-header-hum {
 position: fixed;
 z-index: 9;
 top: var(--top);
 right: var(--side);
 padding-block: 8px
}
html:not(.js-menu) .site-header-hum {
 display: none
}
.site-header-hum button {
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-orient: vertical;
 -webkit-box-direction: normal;
 -ms-flex-flow: column;
 flex-flow: column;
 -webkit-box-align: end;
 -ms-flex-align: end;
 align-items: flex-end;
 -webkit-box-pack: justify;
 -ms-flex-pack: justify;
 justify-content: space-between;
 width: 58px;
 height: 18px;
 padding: 0
}
.site-header-hum .site-header-hum-bar, .site-header-hum .site-header-hum-icon {
 display: block;
 height: 1px;
 -webkit-transform-origin: center right;
 -ms-transform-origin: center right;
 transform-origin: center right
}
.site-header-hum .site-header-hum-bar {
 width: 100%;
 background-color: var(--black);
 -webkit-transition: -webkit-transform 300ms;
 transition: -webkit-transform 300ms;
 transition: transform 300ms;
 transition: transform 300ms, -webkit-transform 300ms
}
html.is-menu-show .site-header-hum .site-header-hum-bar:first-child {
 -webkit-transform: rotate(-20deg) translate3d(-0.5px, -1.5px, 0);
 transform: rotate(-20deg) translate3d(-0.5px, -1.5px, 0)
}
html.is-menu-show .site-header-hum .site-header-hum-bar:nth-child(2) {
 -webkit-transform: rotate(20deg) translate3d(2.75px, 10px, 0);
 transform: rotate(20deg) translate3d(2.75px, 10px, 0)
}
.site-header-hum .site-header-hum-icon {
 width: 50%;
 background-color: var(--red);
 -webkit-transition: -webkit-transform 200ms;
 transition: -webkit-transform 200ms;
 transition: transform 200ms;
 transition: transform 200ms, -webkit-transform 200ms
}
html.is-menu-show .site-header-hum .site-header-hum-icon {
 -webkit-transform: scaleX(0);
 -ms-transform: scaleX(0);
 transform: scaleX(0)
}
main {
 overflow: clip
}
.site-menu {
 --opacity: 0;
 opacity: var(--opacity);
 position: fixed;
 z-index: 8;
 top: 0;
 left: 0;
 display: none;
 width: 100vw;
 height: 100vh;
 background-color: rgba(255, 255, 255, 0.85);
 -webkit-backdrop-filter: blur(35px);
 backdrop-filter: blur(35px)
}
html.is-menu-show .site-menu {
 display: block
}
.site-menu-layout {
 position: absolute;
 z-index: 0;
 inset: 0;
 overflow: hidden scroll;
 overscroll-behavior-y: contain
}
.site-menu-layout > button {
 position: absolute;
 z-index: -1;
 inset: 0
}
.site-menu-content {
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-orient: vertical;
 -webkit-box-direction: normal;
 -ms-flex-flow: column;
 flex-flow: column;
 -webkit-box-pack: justify;
 -ms-flex-pack: justify;
 justify-content: space-between;
 min-height: calc(100vh + 1px);
 padding-block: 65px calc(100 / 844 * 100vh)
}
.site-menu-nav {
 --side: calc(28 / 390 * 100vw);
 width: 100%;
 max-width: calc(420px + var(--side) * 2);
 margin-block: auto;
 margin-inline: auto;
 padding-inline: max(25px, var(--side));
 font-size: 2rem
}
.site-menu-nav li {
 -webkit-margin-before: max(30px, calc(15 / 390 * 100vw));
 margin-block-start: max(30px, calc(15 / 390 * 100vw));
 border-bottom: 1px solid #fff
}
.site-menu-nav li a {
 display: block;
 width: 100%;
 padding-block: 15px;
 padding-inline: max(10px, calc(10 / 390 * 100vw));
 letter-spacing: 0.1em;
 line-height: 1em
}
.site-menu-apply {
 -webkit-margin-before: calc(80 / 844 * 100vh);
 margin-block-start: calc(80 / 844 * 100vh);
 padding-inline: 25px
}
.site-footer{
 overflow: clip;
}
.site-footer-layout {
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-orient: vertical;
 -webkit-box-direction: normal;
 -ms-flex-flow: column;
 flex-flow: column;
 -webkit-box-align: center;
 -ms-flex-align: center;
 align-items: center;
 row-gap: 20px;
 -webkit-padding-after: 80px;
 padding-block-end: 80px;
 background-color: #fff
}
.site-footer-copyright, .site-footer-policy {
 font-size: 1.1rem;
 letter-spacing: 0.1em
}
.home-key {
 display: -ms-grid;
 display: grid;
 -ms-grid-rows: 1fr;
 -ms-grid-columns: 1fr;
 grid-template: 1fr/1fr;
 height: 100vh;
 min-height: 480px;
 max-height: 1068px
}
.home-key > * {
 -ms-grid-row: 1;
 -ms-grid-column: 1;
 grid-area: 1/1
}
.home-key-title {
 display: -ms-grid;
 display: grid;
 place-content: center
}
.home-key-title h2 {
 font-size: 2.8rem;
 letter-spacing: 0.1em;
 line-height: calc(54em/28);
 word-break: keep-all
}
.home-key-navigate {
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-orient: vertical;
 -webkit-box-direction: normal;
 -ms-flex-flow: column;
 flex-flow: column;
 -webkit-box-align: center;
 -ms-flex-align: center;
 align-items: center;
 -webkit-box-pack: end;
 -ms-flex-pack: end;
 justify-content: flex-end;
 row-gap: 20px;
 color: #fff
}
.home-key-navigate p {
 font-family: var(--font-devanagari);
 font-size: 1.2rem;
 letter-spacing: 0.05em;
 line-height: 1;
 text-indent: -0.05em
}
.home-key-navigate span {
 --max: 58px;
 content: "";
 display: block;
 width: 2px;
 height: calc(var(--max) + 2px);
 background-color: rgba(255, 255, 255, 0.25)
}
.home-key-navigate span:before {
 content: "";
 display: block;
 width: 2px;
 height: 2px;
 background-color: #fff;
 -webkit-transform: translate3d(0, 0, 0);
 transform: translate3d(0, 0, 0);
 -webkit-animation: keyScrollNavigate 3s infinite;
 animation: keyScrollNavigate 3s infinite
}
@-webkit-keyframes keyScrollNavigate {
 0% {
  -webkit-transform: translate3d(0, 0px, 0);
  transform: translate3d(0, 0px, 0)
 }
 33% {
  -webkit-transform: translate3d(0, var(--max), 0);
  transform: translate3d(0, var(--max), 0);
  opacity: 1
 }
 66% {
  -webkit-transform: translate3d(0, var(--max), 0);
  transform: translate3d(0, var(--max), 0);
  opacity: 0
 }
 67% {
  -webkit-transform: translate3d(0, 0px, 0);
  transform: translate3d(0, 0px, 0);
  opacity: 0
 }
 to {
  -webkit-transform: translate3d(0, 0px, 0);
  transform: translate3d(0, 0px, 0);
  opacity: 1
 }
}
@keyframes keyScrollNavigate {
 0% {
  -webkit-transform: translate3d(0, 0px, 0);
  transform: translate3d(0, 0px, 0)
 }
 33% {
  -webkit-transform: translate3d(0, var(--max), 0);
  transform: translate3d(0, var(--max), 0);
  opacity: 1
 }
 66% {
  -webkit-transform: translate3d(0, var(--max), 0);
  transform: translate3d(0, var(--max), 0);
  opacity: 0
 }
 67% {
  -webkit-transform: translate3d(0, 0px, 0);
  transform: translate3d(0, 0px, 0);
  opacity: 0
 }
 to {
  -webkit-transform: translate3d(0, 0px, 0);
  transform: translate3d(0, 0px, 0);
  opacity: 1
 }
}
.home-about {
 -webkit-margin-after: 150px;
 margin-block-end: 150px
}
.home-about-layout {
 position: relative
}
.home-about-title {
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 font-size: 2.8rem;
 line-height: 1.5;
 letter-spacing: 0.5em
}
.home-about-title span {
 -webkit-writing-mode: vertical-rl;
 -ms-writing-mode: tb-rl;
 writing-mode: vertical-rl
}
.home-about-title span:first-child {
 -webkit-box-ordinal-group: 2;
 -ms-flex-order: 1;
 order: 1
}
.home-about-title span:nth-child(2) {
 -webkit-margin-start: 6.55em;
 margin-inline-start: 6.55em
}
.home-about-lead {
 --line-height: calc(40em/18);
 display: -ms-grid;
 display: grid;
 row-gap: var(--line-height);
 padding-inline: calc(45 / 390 * 100%);
 font-size: 1.8rem;
 line-height: var(--line-height)
}
.home-about-back {
 overflow: hidden;
 position: absolute;
 z-index: 0;
 top: 0;
 left: 50%;
 width: 1200px;
 height: 1200px;
 border-radius: 50%;
 translate: -290px -98px;
 opacity: 0.1
}
@supports (mix-blend-mode:multiply) {
 .home-about-back {
  opacity: 0.2;
  mix-blend-mode: multiply
 }
}
.home-about-back video {
 -o-object-fit: cover;
 object-fit: cover;
 -o-object-position: center;
 object-position: center;
 width: 100%;
 height: 100%
}
.home-service .ui-container {
 padding-inline: calc(33 / 390 * 100%)
}
.home-service .ui-section-title {
 -webkit-margin-after: 70px;
 margin-block-end: 70px
}
.home-service-grid {
 -webkit-margin-after: 140px;
 margin-block-end: 140px
}
.home-service-grid figure {
 -webkit-margin-after: 35px;
 margin-block-end: 35px
}
.home-service-grid figure img {
 border-radius: 5px
}
.home-service-heading {
 -webkit-margin-after: 70px;
 margin-block-end: 70px
}
.home-service-grid-first {
 -webkit-margin-after: 100px;
 margin-block-end: 100px
}
.home-service-grid-third {
 -webkit-margin-after: 100px;
 margin-block-end: 100px
}
.home-service-number {
 -webkit-margin-after: 5px;
 margin-block-end: 5px;
 font-size: 1rem;
 letter-spacing: 0.2em
}
.home-service-product {
 -webkit-margin-after: 10px;
 margin-block-end: 10px;
 font-size: 3.2rem;
 letter-spacing: 0.1em
}
.home-service-desc {
 -webkit-margin-after: 20px;
 margin-block-end: 20px;
 font-size: 1.6rem
}
.home-service-first-block .home-service-desc {
 font-size: 2.2rem;
 line-height: calc(36em/22)
}
.home-service-lead {
 -webkit-margin-after: 25px;
 margin-block-end: 25px;
 font-size: 1.4rem;
 line-height: calc(30em/14)
}
.home-service-first-block .home-service-lead {
 font-size: 1.6rem;
 line-height: calc(30em/16)
}
.home-service-price {
 -webkit-margin-after: 25px;
 margin-block-end: 25px;
 font-size: 3.6rem
}
.home-service-price span {
 font-size: 1.6rem
}
.home-service-type {
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 -ms-flex-wrap: wrap;
 flex-wrap: wrap;
 -webkit-column-gap: 16px;
 -moz-column-gap: 16px;
 column-gap: 16px;
 -webkit-margin-before: 30px;
 margin-block-start: 30px;
 font-size: 1.4rem;
 line-height: 1
}
.home-service-type li {
 padding: 0.2em 0.6em 0.4em;
 border-radius: 5px;
 background-color: #f3f3f3;
 mix-blend-mode: multiply
}
.home-service-roadmap-title {
 border-bottom: 1px solid;
 font-size: 1.8rem;
 line-height: calc(50em/18)
}
.home-service-roadmap-title:before {
 content: "●";
 -webkit-margin-end: 0.5em;
 margin-inline-end: 0.5em;
 color: #d9d9d9;
 mix-blend-mode: multiply
}
.home-service-roadmap-item {
 position: relative;
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-align: center;
 -ms-flex-align: center;
 align-items: center;
 -webkit-column-gap: 20px;
 -moz-column-gap: 20px;
 column-gap: 20px;
 -webkit-margin-before: 20px;
 margin-block-start: 20px;
 padding-block: 10px
}
.home-service-roadmap-item:after, .home-service-roadmap-item:before {
 content: "";
 position: absolute;
 display: block;
 background-color: #d9d9d9;
 mix-blend-mode: multiply
}
.home-service-roadmap-item:before {
 bottom: 0;
 left: 0;
 width: 100%;
 height: 1px;
 -webkit-clip-path: polygon(0 0, 20px 0, 20px 100%, 35px 100%, 35px 0, 100% 0, 100% 100%, 0 100%);
 clip-path: polygon(0 0, 20px 0, 20px 100%, 35px 100%, 35px 0, 100% 0, 100% 100%, 0 100%)
}
.home-service-roadmap-item:after {
 top: 100%;
 left: 20px;
 -webkit-margin-before: -1px;
 margin-block-start: -1px;
 width: 15px;
 height: 10px;
 -webkit-clip-path: polygon(0 0, 11% 0, 50% 85%, 89% 0, 100% 0, 100% 1px, 93% 1px, 50% 100%, 7% 1px, 0px 1px);
 clip-path: polygon(0 0, 11% 0, 50% 85%, 89% 0, 100% 0, 100% 1px, 93% 1px, 50% 100%, 7% 1px, 0px 1px)
}
.home-service-roadmap-item-month {
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-align: end;
 -ms-flex-align: end;
 align-items: flex-end;
 -webkit-column-gap: 5px;
 -moz-column-gap: 5px;
 column-gap: 5px;
 -webkit-box-flex: 0;
 -ms-flex: none;
 flex: none;
 font-size: 1.4rem;
 line-height: 1
}
.home-service-roadmap-item-month span {
 display: block;
 width: 1.3em;
 font-size: 2em;
 line-height: 0.85;
 text-align: center
}
.home-service-roadmap-item-lead {
 font-size: 1.4rem
}
.home-service-roadmap-item-lead em {
 font-size: 1.8rem
}
.home-service-more {
 -webkit-margin-before: 50px;
 margin-block-start: 50px
}
.home-works {
 -webkit-margin-after: 180px;
 margin-block-end: 180px
}
.home-works .ui-section-title {
 -webkit-margin-after: 80px;
 margin-block-end: 80px
}
.home-works-list {
 -webkit-margin-before: 100px;
 margin-block-start: 100px;
 padding-inline: calc(25 / 390 * 100%)
}
.home-works-more {
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-pack: center;
 -ms-flex-pack: center;
 justify-content: center;
 -webkit-margin-before: 50px;
 margin-block-start: 50px
}
.home-blog {
 position: relative;
 z-index: 1;
 -webkit-margin-after: 180px;
 margin-block-end: 180px
}
.home-blog .ui-section-title {
 -webkit-margin-after: 80px;
 margin-block-end: 80px
}
.home-blog-slider .swiper {
 overflow: visible
}
.home-blog-slider-pagination {
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-pack: center;
 -ms-flex-pack: center;
 justify-content: center;
 -webkit-column-gap: 30px;
 -moz-column-gap: 30px;
 column-gap: 30px;
 -webkit-margin-before: 50px;
 margin-block-start: 50px
}
.home-blog-slider-pagination .swiper-pagination-bullet {
 opacity: 0.5;
 display: block;
 width: 13px;
 height: 13px;
 border-radius: 50%;
 background-color: #d9d9d9;
 -webkit-transition: background-color 200ms;
 transition: background-color 200ms
}
.home-blog-slider-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
 pointer-events: none;
 opacity: 1;
 background-color: var(--red);
 -webkit-transition-duration: 400ms;
 transition-duration: 400ms
}
.home-blog-slider-nav {
 pointer-events: none;
 position: absolute;
 top: 0;
 left: 0;
 right: 0;
 display: none;
 aspect-ratio: 1200/747;
 width: 46%;
 margin-inline: auto
}
.home-blog-slider-nav button {
 pointer-events: auto;
 position: relative;
 z-index: 2;
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-align: center;
 -ms-flex-align: center;
 align-items: center;
 height: 30px
}
.home-blog-slider-nav button svg {
 fill: none;
 stroke: currentColor;
 width: 30px
}
.home-blog-slider-nav-prev {
 -webkit-transform: rotate(180deg) translate3d(50%, 0, 0);
 transform: rotate(180deg) translate3d(50%, 0, 0)
}
.home-blog-slider-nav-next {
 -webkit-transform: translate3d(50%, 0, 0);
 transform: translate3d(50%, 0, 0)
}
.home-blog-item {
 -webkit-padding-end: calc(40 / 390 * 100vw);
 padding-inline-end: calc(40 / 390 * 100vw)
}
.home-blog-item > a {
 display: block
}
.home-blog-item-thumb {
 aspect-ratio: 300/230;
 -webkit-margin-after: 20px;
 margin-block-end: 20px
}
.home-blog-item-thumb img {
 -o-object-fit: cover;
 object-fit: cover;
 -o-object-position: center;
 object-position: center;
 width: 100%;
 height: 100%;
 border-radius: 5px
}
.home-blog-item-title {
 font-size: 1.6rem;
 letter-spacing: 0.1em;
 overflow: hidden;
 display: -webkit-box;
 max-height: 1.5em;
 text-overflow: ellipsis;
 -webkit-box-orient: vertical;
 -webkit-line-clamp: 1
}
.home-blog-item-label {
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 -ms-flex-wrap: wrap;
 flex-wrap: wrap;
 -webkit-column-gap: 0.8em;
 -moz-column-gap: 0.8em;
 column-gap: 0.8em;
 row-gap: 0.6em;
 -webkit-margin-before: 10px;
 margin-block-start: 10px;
 font-size: 1.2rem
}
.home-blog-more {
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-pack: center;
 -ms-flex-pack: center;
 justify-content: center;
 -webkit-margin-before: 70px;
 margin-block-start: 70px
}
.works-archive-list {
 display: -ms-grid;
 display: grid;
 -webkit-margin-after: calc(-25 / 390 * 100vw);
 margin-block-end: calc(-25 / 390 * 100vw)
}
.works-archive-item {
 display: -ms-grid;
 display: grid;
 row-gap: 10px;
 -webkit-margin-after: calc(25 / 390 * 100vw);
 margin-block-end: calc(25 / 390 * 100vw);
 padding: calc(40 / 390 * 100vw)
}
.works-archive-item:after {
 content: "";
 -ms-grid-column: 1;
 grid-column: 1;
 -ms-grid-row: 1;
 -ms-grid-row-span: 3;
 grid-row: 1/span 3;
 display: block;
 margin: calc(-40 / 390 * 100vw);
 border-radius: 5px;
 background-color: rgba(0, 0, 0, 0.085)
}
.works-archive-item:nth-child(3n-1):after {
 background-color: rgba(255, 255, 255, 0.75)
}
.works-archive-item > * {
 -ms-grid-column: 1;
 grid-column: 1
}
.works-archive-item > :first-child {
 -ms-grid-row: 1;
 grid-row: 1
}
.works-archive-item > :nth-child(2) {
 -ms-grid-row: 2;
 grid-row: 2
}
.works-archive-item > :nth-child(3) {
 -ms-grid-row: 3;
 grid-row: 3
}
.works-archive-item > a {
 z-index: 2;
 -ms-grid-row: 1;
 -ms-grid-row-span: 3;
 grid-row: 1/span 3
}
.works-archive-item-thumb {
 z-index: 1;
 aspect-ratio: 260/200
}
.works-archive-item-thumb img {
 -o-object-fit: cover;
 object-fit: cover;
 -o-object-position: 50% 50%;
 object-position: 50% 50%;
 width: 100%;
 height: 100%;
 border-radius: 5px
}
.works-archive-item-title {
 z-index: 1;
 font-size: 1.6rem
}
.works-archive-item-label {
 overflow: hidden;
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 -ms-flex-wrap: wrap;
 flex-wrap: wrap;
 -webkit-column-gap: 2em;
 -moz-column-gap: 2em;
 column-gap: 2em;
 row-gap: 0.75em;
 font-size: 1.2rem;
 line-height: 1
}
.works-archive-item-label li {
 -webkit-margin-start: -1.5em;
 margin-inline-start: -1.5em
}
.works-archive-item-label li:before {
 content: "｜";
 -webkit-margin-end: 0.5em;
 margin-inline-end: 0.5em
}
.works-archive-item-label li a {
 position: relative;
 z-index: 3
}
@media not screen and (min-width:375px) {
 .site-message-more .ui-apply {
  width: 300px;
  padding-inline: 7px
 }
}
@media screen and (min-width:375px) {
 .site-message:after {
  --button-width-half: 170px;
  --bottom: 70px;
  --button-top: 140px
 }
}
@media not screen and (min-width:768px) {
 :where(.ui-vert-heading) {
  text-align: center
 }
 .site-menu-layout > button {
  display: none
 }
 .home-key-title {
  padding-inline: calc(40 / 390 * 100%)
 }
 .home-about-title {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding-block: 150px
 }
 .home-about-lead p br {
  display: none
 }
 .home-service-more {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
 }
 .home-works-more {
  padding-inline: max(20px, calc(25 / 390 * 100%))
 }
 .home-blog .ui-container {
  padding-inline: max(20px, calc(25 / 390 * 100%))
 }
 .works-archive-item:nth-child(n+4) {
  display: none
 }
}
@media screen and (min-width:768px) {
 :where(.ui-vert-heading) {
  font-size: min(3.6rem, calc(36 / 1400 * 135vw));
  letter-spacing: 0.15em;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl
 }
 :where(.ui-vert-heading) br {
  display: none
 }
 .ui-apply {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-column-gap: 30px;
  -moz-column-gap: 30px;
  column-gap: 30px;
  max-width: 680px;
  height: 90px
 }
 .ui-apply img {
  width: 30px;
  -webkit-margin-start: 10px;
  margin-inline-start: 10px
 }
 .ui-apply svg {
  stroke-width: 1;
  width: 30px;
  -webkit-margin-start: 10px;
  margin-inline-start: 10px;
  translate: 0 3px
 }
 .site-message {
  --margin: min(1180px, calc(1180 / 1400 * 100vw));
  -webkit-padding-before: calc((var(--margin) + 140px) / 2);
  padding-block-start: calc((var(--margin) + 140px) / 2);
  -webkit-padding-after: 100px;
  padding-block-end: 100px
 }
 .site-message:after {
  --button-width-half: 340px;
  --bottom: 100px;
  --button-top: 190px;
  background-image: -webkit-gradient(linear, left bottom, left top, from(white), to(rgba(255, 255, 255, 0)));
  background-image: linear-gradient(to top, white calc(var(--scale) * 56%), rgba(255, 255, 255, 0))
 }
 .site-message-title {
  font-size: 3.6rem;
  text-align: center
 }
 .site-message-lead {
  -webkit-margin-before: 70px;
  margin-block-start: 70px;
  font-size: 1.8rem;
  line-height: calc(40em/18);
  text-align: center
 }
 .site-message-more {
  -webkit-margin-before: 60px;
  margin-block-start: 60px
 }
 .site-effect canvas {
  -webkit-transform: scale(calc(var(--scale) * 0.3 + 1)) translate3d(calc(-280 / 1960 * 100%), -120px, 0);
  transform: scale(calc(var(--scale) * 0.3 + 1)) translate3d(calc(-280 / 1960 * 100%), -120px, 0)
 }
 .site-header {
  --top: 45px;
  --side: 60px
 }
 .site-header-logo {
  width: 160px
 }
 .site-menu {
  background-color: rgba(0, 0, 0, 0.55)
 }
 .site-menu-content {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  -webkit-margin-start: auto;
  margin-inline-start: auto;
  padding-block: 60px 40px;
  background-color: rgba(255, 255, 255, 0.65);
  -webkit-backdrop-filter: blur(25px);
  backdrop-filter: blur(25px)
 }
 .site-menu-nav {
  margin-inline: 0;
  padding-inline: 20px;
  font-size: 1.8rem
 }
 .site-menu-nav li {
  -webkit-margin-before: 30px;
  margin-block-start: 30px
 }
 .site-menu-apply {
  padding-inline: 15px
 }
 .site-menu-apply .ui-apply {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-column-gap: 10px;
  -moz-column-gap: 10px;
  column-gap: 10px;
  max-width: 340px;
  height: 70px;
  padding-inline: 20px;
  font-size: 1.6rem
 }
 .site-menu-apply .ui-apply img, .site-menu-apply .ui-apply svg {
  width: 23px
 }
 .site-menu-apply .ui-apply img {
  -webkit-margin-end: 0;
  margin-inline-end: 0
 }
 .site-menu-apply .ui-apply svg {
  -webkit-margin-start: 0;
  margin-inline-start: 0
 }
 .site-footer-layout {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row;
  flex-flow: row;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-column-gap: 20px;
  -moz-column-gap: 20px;
  column-gap: 20px;
  padding-block: 30px;
  padding-inline: 60px 40px
 }
 .home-key {
  max-height: 2160px
 }
 .home-key-title h2 {
  font-size: 3.6rem
 }
 .home-key-navigate span {
  --max: 48px
 }
 .home-about {
  -webkit-margin-after: 0;
  margin-block-end: 0
 }
 .home-about-layout {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-column-gap: calc(176 / 1400 * 100%);
  -moz-column-gap: calc(176 / 1400 * 100%);
  column-gap: calc(176 / 1400 * 100%);
  height: 1240px;
  -webkit-padding-start: calc(130 / 1400 * 100%);
  padding-inline-start: calc(130 / 1400 * 100%)
 }
 .home-about-title {
  height: 100%;
  -webkit-margin-before: 200px;
  margin-block-start: 200px;
  font-size: 3.6rem;
  line-height: 1.8
 }
 .home-about-title span:nth-child(2) {
  -webkit-margin-start: 6.025em;
  margin-inline-start: 6.025em
 }
 .home-about-lead {
  --line-height: calc(50em/18);
  -webkit-margin-before: 350px;
  margin-block-start: 350px;
  padding-inline: 0
 }
 .home-about-back {
  translate: max(-460px, calc(-460 / 1400 * 100vw)) -85px
 }
 .home-service .ui-container {
  padding-inline: min(100px, calc(100 / 1400 * 100vw))
 }
 .home-service .ui-section-title {
  -webkit-margin-after: 120px;
  margin-block-end: 120px
 }
 .home-service-grid {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr min(50px, calc(50 / 1400 * 100vw)) auto min(50px, calc(50 / 1400 * 100vw)) 1fr;
  grid-template-columns: 1fr auto 1fr;
  -webkit-column-gap: min(50px, calc(50 / 1400 * 100vw));
  -moz-column-gap: min(50px, calc(50 / 1400 * 100vw));
  column-gap: min(50px, calc(50 / 1400 * 100vw));
  -ms-grid-rows: min(250px, calc(250 / 1400 * 100vw)) min(250px, calc(250 / 1400 * 100vw)) auto;
  grid-template-rows: min(250px, calc(250 / 1400 * 100vw)) min(250px, calc(250 / 1400 * 100vw)) auto;
  -webkit-margin-after: 260px;
  margin-block-end: 260px
 }
 .home-service-grid > :first-child {
  -ms-grid-row: 1;
  -ms-grid-column: 1
 }
 .home-service-grid > :nth-child(2) {
  -ms-grid-row: 1;
  -ms-grid-column: 3
 }
 .home-service-grid > :nth-child(3) {
  -ms-grid-row: 1;
  -ms-grid-column: 5
 }
 .home-service-grid > :nth-child(4) {
  -ms-grid-row: 2;
  -ms-grid-column: 1
 }
 .home-service-grid > :nth-child(5) {
  -ms-grid-row: 2;
  -ms-grid-column: 3
 }
 .home-service-grid > :nth-child(6) {
  -ms-grid-row: 2;
  -ms-grid-column: 5
 }
 .home-service-grid > :nth-child(7) {
  -ms-grid-row: 3;
  -ms-grid-column: 1
 }
 .home-service-grid > :nth-child(8) {
  -ms-grid-row: 3;
  -ms-grid-column: 3
 }
 .home-service-grid > :nth-child(9) {
  -ms-grid-row: 3;
  -ms-grid-column: 5
 }
 .home-service-grid:has(.home-service-grid-fourth) {
  -ms-grid-rows: min(250px, calc(250 / 1400 * 100vw)) auto auto auto;
  grid-template-rows: min(250px, calc(250 / 1400 * 100vw)) auto auto auto
 }
 .home-service-grid.home-service-first-block figure {
  position: -webkit-sticky;
  position: sticky;
  top: 120px;
  -webkit-margin-after: 120px;
  margin-block-end: 120px
 }
 .home-service-heading {
  -ms-grid-column: 2;
  grid-column: 2;
  -ms-grid-row: 1;
  -ms-grid-row-span: 3;
  grid-row: 1/span 3;
  -webkit-margin-after: 0;
  margin-block-end: 0
 }
 .home-service-grid:has(.home-service-grid-fourth) .home-service-heading {
  -ms-grid-row: 1;
  -ms-grid-row-span: 4;
  grid-row: 1/span 4
 }
 .home-service-heading .ui-vert-heading {
  position: -webkit-sticky;
  position: sticky;
  top: 120px
 }
 .home-service-grid-first {
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 2;
  -ms-grid-row-span: 2;
  grid-row: 2/span 2;
  -webkit-margin-after: 0;
  margin-block-end: 0
 }
 .home-service-first-block .home-service-grid-first {
  -ms-grid-row: 1;
  -ms-grid-row-span: 3;
  grid-row: 1/span 3
 }
 .home-service-grid-third {
  -ms-grid-column: 3;
  grid-column: 3;
  -ms-grid-row: 3;
  grid-row: 3;
  -webkit-margin-after: 0;
  margin-block-end: 0
 }
 .home-service-first-block .home-service-grid-third {
  -ms-grid-row: 2;
  -ms-grid-row-span: 2;
  grid-row: 2/span 2
 }
 .home-service-grid:has(.home-service-grid-fourth) .home-service-grid-third {
  -ms-grid-row: 2;
  -ms-grid-row-span: 3;
  grid-row: 2/span 3;
  -webkit-margin-before: min(250px, calc(250 / 1400 * 100vw));
  margin-block-start: min(250px, calc(250 / 1400 * 100vw))
 }
 .home-service-grid-fourth {
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 4;
  grid-row: 4;
  -webkit-margin-before: min(125px, calc(125 / 1400 * 100vw));
  margin-block-start: min(125px, calc(125 / 1400 * 100vw))
 }
 .home-service-product {
  font-size: 3.6rem
 }
 .home-service-first-block .home-service-product {
  font-size: min(5.4rem, calc(54 / 1400 * 135vw))
 }
 .home-service-first-block .home-service-desc {
  font-size: min(2.6rem, calc(26 / 1400 * 135vw));
  line-height: calc(46em/26);
  word-break: keep-all
 }
 .home-service-type {
  -webkit-margin-before: 15px;
  margin-block-start: 15px
 }
 .home-service-more .ui-more {
  max-width: 240px
 }
 .home-service-first-block .home-service-more .ui-more {
  -webkit-margin-start: auto;
  margin-inline-start: auto
 }
 .home-service-more .ui-more span {
  -webkit-margin-start: calc(40 / 240 * 100%);
  margin-inline-start: calc(40 / 240 * 100%)
 }
 .home-service-more .ui-more svg {
  -webkit-margin-end: calc(30 / 240 * 100%);
  margin-inline-end: calc(30 / 240 * 100%)
 }
 .home-works {
  -webkit-margin-after: 240px;
  margin-block-end: 240px
 }
 .home-works .ui-section-title {
  -webkit-margin-after: 140px;
  margin-block-end: 140px
 }
 .home-works-list {
  -webkit-margin-before: 240px;
  margin-block-start: 240px;
  padding-inline: min(90px, calc(90 / 1400 * 100%))
 }
 .home-works-more {
  -webkit-margin-before: 100px;
  margin-block-start: 100px
 }
 .home-blog {
  -webkit-margin-after: 240px;
  margin-block-end: 240px
 }
 .home-blog .ui-section-title {
  -webkit-margin-after: 140px;
  margin-block-end: 140px
 }
 .home-blog-slider {
  position: relative
 }
 .home-blog-slider-pagination {
  display: none
 }
 .home-blog-slider-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
 }
 .home-blog-item {
  padding-inline: min(48px, 48/1400 * 100vw)
 }
 .home-blog-more {
  -webkit-margin-before: 100px;
  margin-block-start: 100px
 }
 .works-archive-list {
  -ms-grid-columns: (1fr)[3];
  grid-template-columns: repeat(3, 1fr);
  -webkit-margin-after: max(-120px, -120/1400 * 100vw);
  margin-block-end: max(-120px, -120/1400 * 100vw)
 }
 .works-archive-item {
  -ms-grid-rows: subgrid;
  grid-template-rows: subgrid;
  -ms-grid-row-span: 3;
  grid-row: span 3;
  -webkit-margin-after: min(120px, 120/1400 * 100vw);
  margin-block-end: min(120px, 120/1400 * 100vw);
  padding: min(40px, 40/1400 * 100vw)
 }
 .works-archive-item:nth-child(3n-1) {
  position: relative;
  z-index: 4
 }
 .works-archive-item:after {
  margin: max(-55px, -55/1400 * 100vw)
 }
 .works-archive-item > :not(a) {
  -ms-flex-item-align: start;
  -ms-grid-row-align: start;
  align-self: start
 }
 .works-archive-item > a {
  display: block;
  margin: max(-55px, calc(-55 / 1400 * 100vw))
 }
}
@media screen and (min-width:1400px) {
 :where(.ui-container) {
  max-width: 1400px;
  margin-inline: auto
 }
 .site-effect, .site-effect-view {
  width: 100%;
  max-width: 1400px;
  height: min(1380px, calc(1380 / 1400 * 100vw));
  margin-inline: auto
 }
}
@media screen and (min-width:2480px) {
 .home-blog-slider .swiper-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
 }
 .home-blog-item {
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  width: 470px
 }
}
@media (any-hover:hover) {
 .ui-apply {
  -webkit-transition: background-color 300ms, color 300ms;
  transition: background-color 300ms, color 300ms
 }
 .ui-apply:hover {
  background-color: white
 }
 .ui-apply svg {
  stroke-dashoffset: 0px;
  stroke-dasharray: 38px;
  -webkit-transition: stroke-dashoffset 800ms;
  transition: stroke-dashoffset 800ms
 }
 .ui-apply:hover svg {
  stroke-dashoffset: 76px
 }
 .ui-more {
  -webkit-transition: background-color 400ms, color 400ms;
  transition: background-color 400ms, color 400ms
 }
 .ui-more:hover {
  background-color: white
 }
 .ui-more svg {
  stroke-dashoffset: 0px;
  stroke-dasharray: 38px;
  -webkit-transition: stroke-dashoffset 800ms;
  transition: stroke-dashoffset 800ms
 }
 .ui-more:hover svg {
  stroke-dashoffset: 76px
 }
 html:not(.is-menu-show) .site-header-hum button:hover .site-header-hum-bar:first-child {
  -webkit-transform: scaleX(0.84);
  -ms-transform: scaleX(0.84);
  transform: scaleX(0.84)
 }
 html:not(.is-menu-show) .site-header-hum button:hover .site-header-hum-bar:nth-child(2) {
  -webkit-transform: scaleX(0.68);
  -ms-transform: scaleX(0.68);
  transform: scaleX(0.68)
 }
 .site-menu-nav li a {
  background-color: rgba(255, 255, 255, 0);
  -webkit-transition: background-color 300ms, color 300ms;
  transition: background-color 300ms, color 300ms
 }
 .site-menu-nav li a:hover {
  background-color: rgba(255, 255, 255, 0.45);
  color: var(--red)
 }
 .home-blog-slider .swiper {
  cursor: -webkit-grab;
  cursor: grab
 }
 .home-blog-slider .swiper:active {
  cursor: -webkit-grabbing;
  cursor: grabbing
 }
 .home-blog-slider-pagination .swiper-pagination-bullet {
  cursor: pointer
 }
 .home-blog-slider-nav button svg {
  stroke-dashoffset: 0px;
  stroke-dasharray: 38px;
  -webkit-transition: stroke-dashoffset 800ms;
  transition: stroke-dashoffset 800ms
 }
 .home-blog-slider-nav button:hover svg {
  stroke-dashoffset: 76px
 }
 .home-blog-item > a {
  margin: -5px;
  padding: 5px;
  border-radius: 10px;
  background-color: rgba(233, 233, 233, 0);
  -webkit-transition: background-color 400ms;
  transition: background-color 400ms
 }
 .home-blog-item > a:hover {
  background-color: rgba(233, 233, 233, 0.5)
 }
 .home-blog-item-label a {
  background-image: -webkit-gradient(linear, left top, right top, from(currentColor), to(currentColor));
  background-image: linear-gradient(to right, currentColor, currentColor);
  background-position: 100% 100%;
  background-repeat: no-repeat;
  background-size: 0% 1px;
  -webkit-transition: background-size 300ms;
  transition: background-size 300ms
 }
 .home-blog-item-label a:hover {
  background-position: 0% 100%;
  background-size: 100% 1px
 }
 .works-archive-item:after {
  border: 0px solid #d9d9d9;
  -webkit-transition: border-width 400ms;
  transition: border-width 400ms
 }
 .works-archive-item:has(>a:hover):after {
  border-width: 10px
 }
 .works-archive-item-label {
  -webkit-margin-after: -3px;
  margin-block-end: -3px;
  -webkit-padding-after: 3px;
  padding-block-end: 3px
 }
 .works-archive-item-label li a {
  background-image: -webkit-gradient(linear, left top, right top, from(currentColor), to(currentColor));
  background-image: linear-gradient(to right, currentColor, currentColor);
  background-position: 100% 100%;
  background-repeat: no-repeat;
  background-size: 0% 1px;
  -webkit-transition: background-size 300ms;
  transition: background-size 300ms
 }
 .works-archive-item-label li a:hover {
  background-position: 0% 100%;
  background-size: 100% 1px
 }
}