@charset "UTF-8";
/*-------------------------------------------------------------
メディアクエリ
-------------------------------------------------------------*/
/*-------------------------------------------------------------
デバイスサイズごとの表示切り替え
-------------------------------------------------------------*/
@import url("https://fonts.googleapis.com/css2?family=Teko:wght@300..700&display=swap");
.show-tablet {
  display: none;
}
@media (min-width: 768px) {
  .show-tablet {
    display: block;
  }
}

@media (min-width: 768px) {
  .hide-tablet {
    display: none !important;
  }
}

.show-desktop-s {
  display: none;
}
@media (min-width: 1024px) {
  .show-desktop-s {
    display: block;
  }
}

@media (min-width: 1024px) {
  .hide-desktop-s {
    display: none !important;
  }
}

.show-desktop {
  display: none;
}
@media (min-width: 1280px) {
  .show-desktop {
    display: block;
  }
}

@media (min-width: 1280px) {
  .hide-desktop {
    display: none !important;
  }
}

/* Box sizing rules */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role=list],
ol[role=list] {
  list-style: none;
}

/* Set core root defaults */
html:focus-within {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  display: block;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* Remove all animations and transitions for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    -webkit-animation-duration: 0.01ms !important;
            animation-duration: 0.01ms !important;
    -webkit-animation-iteration-count: 1 !important;
            animation-iteration-count: 1 !important;
    -webkit-transition-duration: 0.01ms !important;
            transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
body {
  width: 100%;
  margin: 0 auto;
  -webkit-font-smoothing: antialiased;
  position: relative;
  background-color: var(--bg-color, #000);
  color: var(--base-font-color, #fff);
  word-break: break-all;
  font-family: "Helvetica Neue", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", meiryo, sans-serif;
  font-weight: 300;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 1.6;
}

body.fixed {
  width: 100%;
  position: fixed;
  top: 0;
  overflow: hidden;
}

a {
  color: rgba(var(--primary-color), 0.75);
  text-decoration: none;
}

a:hover {
  cursor: pointer;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

svg {
  vertical-align: bottom;
}

p {
  line-height: 2;
}

p:not(:last-of-type) {
  margin-bottom: 1em;
}

@media screen and (max-width: 575px) {
  .pc-only {
    display: none;
  }
}
@media screen and (min-width: 1280px) {
  .tb-only {
    display: none;
  }
}
@media screen and (min-width: 576px) {
  .sp-only {
    display: none;
  }
}
header {
  position: fixed;
  z-index: 999;
}

.header {
  width: 92vw;
  margin: 2vw 0 0 4vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.header__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
  gap: 4.5rem;
}

.header__nav li {
  font-size: 1.5rem;
  font-family: "Teko", sans-serif;
  font-weight: 400;
  list-style: none;
}

.header__nav li a {
  display: inline-block;
  padding-bottom: 2px;
  position: relative;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.header__nav li a::after {
  background-color: #6CFDFF;
  bottom: 0;
  content: "";
  display: block;
  height: 1px;
  left: 0;
  position: absolute;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  width: 0;
}

.header__nav li a:hover {
  color: #6CFDFF;
}

.header__nav li a:hover::after {
  width: 100%;
}

.header__sp {
  display: none;
}

.header__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
  gap: 1.5rem;
}

.header__link li {
  font-size: 1.5rem;
  font-family: "Teko", sans-serif;
  font-weight: 400;
  list-style: none;
  text-align: center;
}

.header__link li a {
  position: relative;
  display: inline-block;
  min-width: 200px;
  border: 0.5px #fff solid;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.header__link li a::after, .header__link li a::before,
.header__link li a span::after,
.header__link li a span::before {
  content: "";
  display: block;
  position: absolute;
  z-index: 10;
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  background: #6CFDFF;
}

.header__link li a::after {
  width: 0px;
  height: 1px;
  top: -1px;
  left: -1px;
}

.header__link li a::before {
  width: 0px;
  height: 1px;
  right: -1px;
  bottom: -1px;
}

.header__link li a span::after {
  width: 1px;
  height: 0px;
  left: -1px;
  bottom: -1px;
}

.header__link li a span::before {
  width: 1px;
  height: 0px;
  top: -1px;
  right: -1px;
}

.header__link li a:hover {
  color: #6CFDFF;
}

.header__link li a:hover::after, .header__link li a:hover::before {
  width: 100%;
  width: calc(100% + 1px);
}

.header__link li a:hover span::after, .header__link li a:hover span::before {
  height: 100%;
  height: calc(100% + 1px);
}

footer {
  position: relative;
  width: 100%;
  min-height: 560px;
  background: url(../../_assets/img/bg_footer.png) no-repeat top;
  -o-object-fit: contain;
     object-fit: contain;
  margin-top: 320px;
  padding-top: 240px;
}

footer::before {
  position: absolute;
  top: -200px;
  content: "";
  width: 100%;
  min-height: 300px;
  background: url(../../_assets/img/logo_geobreak.png) no-repeat center;
  background-size: 100%;
  opacity: 0.2;
}

footer ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 40px;
  margin-bottom: 120px;
}

footer ul li {
  list-style: none;
  font-size: 1.25rem;
  font-family: "Teko", sans-serif;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

footer ul li:hover {
  opacity: 0.7;
}

footer ul li img {
  display: inline-block;
  margin-right: 16px;
  margin-bottom: 5px;
}

footer small {
  display: block;
  color: #fff;
  font-family: "Teko", sans-serif;
  font-size: 1rem;
  text-align: center;
}

.kv {
  position: relative;
  width: 100%;
  height: 100vh;
  clip-path: inset(0% 0% 0% 0%);
}

.kv__visual {
  position: absolute;
  z-index: 1;
  width: 100%;
  height: 100vh;
}

.kv__visual img {
  width: 100%;
  height: 100vh;
  -o-object-fit: cover;
     object-fit: cover;
}

.kv__copy {
  position: absolute;
  z-index: 2;
  top: 320px;
  right: 12vw;
  width: 400px;
}

.kv__copy img {
  width: 100%;
}

.kv__logo {
  position: absolute;
  top: 520px;
  right: 4vw;
  z-index: 2;
  width: 800px;
  -webkit-animation: blur 2s linear forwards;
          animation: blur 2s linear forwards;
}

@-webkit-keyframes blur {
  0% {
    -webkit-filter: blur(100px);
            filter: blur(100px);
  }
  100% {
    -webkit-filter: blur(0px);
            filter: blur(0px);
  }
}

@keyframes blur {
  0% {
    -webkit-filter: blur(100px);
            filter: blur(100px);
  }
  100% {
    -webkit-filter: blur(0px);
            filter: blur(0px);
  }
}
.kv__logo img {
  width: 100%;
}

.movie {
  min-height: 1640px;
  padding-top: 240px;
  background: url(../../_assets/img/bg_movie.png) no-repeat top;
  background-size: cover;
  text-align: center;
}

.movie iframe {
  width: 860px;
  height: 482px;
  margin: 0 auto 80px auto;
  -webkit-box-shadow: 20px 20px 80px 0px rgb(0, 0, 0);
          box-shadow: 20px 20px 80px 0px rgb(0, 0, 0);
}

h2 {
  overflow: hidden;
  width: 1200px;
  margin: 0 auto 240px auto;
}

h2 span {
  display: block;
  -webkit-transition: -webkit-transform 0.5s;
  transition: -webkit-transform 0.5s;
  transition: transform 0.5s;
  transition: transform 0.5s, -webkit-transform 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
          transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
  -webkit-transform: translate3d(0, 100%, 0);
          transform: translate3d(0, 100%, 0);
}

h2 span.fadeUp {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

h2 span.fade {
  display: block;
  -webkit-transition: -webkit-transform 0.5s;
  transition: -webkit-transform 0.5s;
  transition: transform 0.5s;
  transition: transform 0.5s, -webkit-transform 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
          transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
  -webkit-transform: translate3d(0, 100%, 0);
          transform: translate3d(0, 100%, 0);
}

h2 span.fade.scroll-in {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.technology {
  margin-bottom: 320px;
}

.technology h3 {
  width: 1200px;
  margin: 0 auto -32px auto;
}

.technology__box {
  position: relative;
  z-index: 1;
  width: 1200px;
  margin: 0 auto 240px auto;
  background: url(../../_assets/img/bg_technology01.svg) no-repeat top;
  background-size: 100%;
  border-bottom: 1px #6CFDFF solid;
}

.technology__content {
  position: relative;
  z-index: 2;
  padding: 144px 104px 80px 104px;
}

.technology__counterbalance-unit {
  position: relative;
}

.technology__counterbalance-unit-bg {
  position: absolute;
  z-index: 1;
  top: -64px;
  width: 100%;
  min-height: 2000px;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  background: url(../../_assets/img/bg_technology01.png) no-repeat top left;
  background-size: contain;
  opacity: 0.25;
}

.technology__counterbalance-unit h4 {
  margin-bottom: 1.5rem;
  font-size: 1.8rem;
  font-weight: 600;
}

.technology__counterbalance-unit h5 {
  margin-bottom: 1.5rem;
  padding-bottom: 0.5rem;
  font-size: 1.125rem;
  font-weight: 600;
  border-bottom: 0.5px #fff solid;
}

.technology__counterbalance-unit-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 56px;
}

.technology__counterbalance-unit-wrap img {
  margin-bottom: 16px;
}

.technology__counterbalance-unit-wrap p {
  font-size: 0.925rem;
  text-align: justify;
}

.technology__gyroburst-system {
  position: relative;
}

.technology__gyroburst-system-bg {
  position: absolute;
  z-index: 1;
  width: 100%;
  min-height: 2000px;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  background: url(../../_assets/img/bg_technology02.png) no-repeat right top;
  background-size: contain;
  opacity: 0.8;
}

.technology__gyroburst-system h4 {
  margin-bottom: 1.5rem;
  font-size: 2rem;
  font-weight: 600;
}

.technology__gyroburst-system h5 {
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  font-size: 1.125rem;
  font-weight: 600;
  border-bottom: 0.5px #fff solid;
}

.technology__gyroburst-system h5.yellow {
  border-bottom: 0.5px #6CFDFF solid;
}

.technology__gyroburst-system p {
  margin-bottom: 2rem;
  text-align: justify;
}

.technology__gyroburst-system p.yellow {
  color: #6CFDFF;
  white-space: nowrap;
}

.technology__gyroburst-system dl {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 24px;
}

.technology__gyroburst-system dl.yellow {
  color: #6CFDFF;
}

.technology__gyroburst-system dl dt {
  width: 30%;
  font-size: 1.25rem;
  font-weight: 600;
  text-align: right;
}

.technology__gyroburst-system dl dd {
  width: 60%;
}

.technology__gyroburst-system-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 48px;
}

.technology__gyroburst-system-detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 472px;
}

.technology__gyroburst-system-img {
  width: 208px;
}

.technology__gyroburst-system-img img {
  width: 100%;
}

.technology__gyroburst-system-course {
  margin-top: 64px;
}

.technology__gyroburst-system-course h5 {
  font-size: 1.125rem;
  border: none;
}

.technology__gyroburst-system-course h5 span {
  margin-left: 1.5rem;
  font-weight: 300;
  font-size: 0.875rem;
}

.technology__servo-filter {
  position: relative;
}

.technology__servo-filter-bg {
  position: absolute;
  z-index: -10;
  top: -64px;
  width: 100%;
  min-height: 2000px;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  background: url(../../_assets/img/bg_technology03.png) no-repeat top left;
  background-size: contain;
}

.technology__servo-filter h4 {
  margin-bottom: 1.5rem;
  font-size: 2rem;
  font-weight: 600;
}

.technology__servo-filter h5 {
  margin-bottom: 1.5rem;
  padding-bottom: 0.5rem;
  font-size: 1.125rem;
  font-weight: 600;
  border-bottom: 0.5px #fff solid;
}

.technology__servo-filter-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 56px;
  margin-top: 3.5rem;
}

.technology__servo-filter-wrap img {
  margin-bottom: 16px;
}

.technology__servo-filter-wrap p {
  font-size: 0.925rem;
  text-align: justify;
}

.technology__servo-filter-pic {
  width: 368px;
}

.technology__servo-filter-img {
  width: 576px;
}

.technology__servo-filter-img dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 24px;
  margin-bottom: 0.5rem;
}

.technology__servo-filter-img dl dt {
  width: 20%;
  text-align: right;
}

.technology__servo-filter-img p {
  margin-bottom: 1.5rem;
  text-align: right;
  font-size: 0.75rem;
}

.technology__servo-filter-note {
  margin-top: 2.5rem;
}

.products {
  position: relative;
  margin-bottom: 320px;
}

.products__bg {
  position: absolute;
  z-index: -10;
  width: 100%;
  min-height: 2000px;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  background: url(../../_assets/img/bg_products.png) no-repeat center;
  background-size: contain;
}

.products h2 {
  width: 1200px;
  margin: 0 auto 240px auto;
}

.products__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.products h3 {
  width: 576px;
  text-align: center;
}

.products h3 img {
  margin: auto;
}

.products h3 span {
  display: block;
  font-weight: 300;
  line-height: 3.6;
}

.products p {
  font-size: 1.25rem;
  font-weight: 600;
  text-align: center;
}

.products__detail {
  width: 576px;
}

.products__photo {
  width: 236px;
  margin: 0 auto 24px auto;
}

.products__photo img {
  width: 276px;
}

.products__price span {
  font-size: 0.875rem;
  font-weight: 300;
}

.products__order {
  margin-top: 2.5rem;
}

.products__order p {
  white-space: nowrap;
  font-weight: 300;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.products__order p.active {
  color: #6CFDFF;
}

.products__order a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 24px;
}

.strings {
  margin-bottom: 320px;
}

.strings h2 {
  width: 1200px;
  margin: 0 auto 240px auto;
}

.strings__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 104px;
}

.strings__detail {
  width: 520px;
}

.strings__package {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
  gap: 48px;
}

.strings__package div:first-child {
  width: 264px;
  margin-bottom: 48px;
}

.strings h3 {
  font-size: 2rem;
  font-family: "Teko", sans-serif;
}

.strings h3 span:first-child {
  display: block;
  font-size: 1rem;
}

.strings h3 span:nth-child(2) {
  display: block;
  font-size: 1.25rem;
}

.strings__txt {
  font-size: 1.25rem;
  font-weight: 600;
}

.strings__price span {
  font-size: 0.875rem;
  font-weight: 300;
}

.strings__color {
  font-size: 0.875rem;
  font-weight: 300;
}

.geobreak-design h2 {
  width: 1200px;
  margin: 0 auto 240px auto;
}

.geobreak-design__photo {
  width: 592px;
  margin: 0 auto 120px auto;
}

.geobreak-design__photo img {
  width: 100%;
}

.geobreak-design__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 48px;
  text-align: center;
}

.geobreak-design__wrap img {
  margin-bottom: 40px;
}

.geobreak-design__wrap .geobreak-design__detail:first-child,
.geobreak-design__wrap .geobreak-design__detail:nth-child(4) {
  width: 576px;
  margin-bottom: 80px;
}

.geobreak-design__wrap .geobreak-design__detail:nth-child(2),
.geobreak-design__wrap .geobreak-design__detail:nth-child(3),
.geobreak-design__wrap .geobreak-design__detail:nth-child(5),
.geobreak-design__wrap .geobreak-design__detail:nth-child(6) {
  width: 264px;
  margin-bottom: 80px;
}

.geobreak-design h3 {
  margin-bottom: 1rem;
  font-size: 1.25rem;
  font-weight: 600;
  text-align: center;
}

.geobreak-design__price span {
  font-size: 0.875rem;
  font-weight: 300;
}

.geobreak-design__color {
  font-size: 0.875rem;
  font-weight: 300;
}

.order-btn {
  position: relative;
  width: 48px;
  height: 48px;
  cursor: pointer;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  overflow: hidden;
  border: 1px #6CFDFF solid;
  border-radius: 50%;
}

.order-btn:hover {
  border: solid 1px #6CFDFF;
  border-radius: 50%;
  -webkit-transform: scale(120%);
          transform: scale(120%);
}

.order-btn::after {
  position: absolute;
  display: block;
  content: "";
  color: #6CFDFF;
  width: 16px;
  height: 15px;
  top: 8.5px;
  left: 11.5px;
  border-bottom: solid 1px;
  -webkit-transform: translatex(4px);
          transform: translatex(4px);
}

.order-btn::before {
  position: absolute;
  display: block;
  content: "";
  color: #6CFDFF;
  width: 10px;
  height: 10px;
  border-top: solid 1px;
  border-left: solid 1px;
  top: 50%;
  left: 32px;
  -webkit-transform-origin: 0% 0%;
          transform-origin: 0% 0%;
  -webkit-transform: rotatez(135deg);
          transform: rotatez(135deg);
}

.order-btn:hover::before {
  -webkit-animation: aniArrow01 0.75s cubic-bezier(0, 0.6, 1, 0.4) infinite 0.1s;
          animation: aniArrow01 0.75s cubic-bezier(0, 0.6, 1, 0.4) infinite 0.1s;
}

.order-btn:hover::after {
  -webkit-animation: aniArrow02 0.75s cubic-bezier(0, 0.6, 1, 0.4) infinite 0.1s;
          animation: aniArrow02 0.75s cubic-bezier(0, 0.6, 1, 0.4) infinite 0.1s;
}

.order-btn.active {
  border: solid 1px #6CFDFF;
  border-radius: 50%;
  -webkit-transform: scale(120%);
          transform: scale(120%);
}

.order-btn.active::before {
  -webkit-animation: aniArrow01 0.75s cubic-bezier(0, 0.6, 1, 0.4) infinite 0.1s;
          animation: aniArrow01 0.75s cubic-bezier(0, 0.6, 1, 0.4) infinite 0.1s;
}

.order-btn.active::after {
  -webkit-animation: aniArrow02 0.75s cubic-bezier(0, 0.6, 1, 0.4) infinite 0.1s;
          animation: aniArrow02 0.75s cubic-bezier(0, 0.6, 1, 0.4) infinite 0.1s;
}

@-webkit-keyframes aniArrow01 {
  0% {
    -webkit-transform: rotatez(135deg) translateY(30px) translateX(30px);
            transform: rotatez(135deg) translateY(30px) translateX(30px);
  }
  100% {
    -webkit-transform: rotatez(135deg) translateY(-35px) translateX(-35px);
            transform: rotatez(135deg) translateY(-35px) translateX(-35px);
  }
}

@keyframes aniArrow01 {
  0% {
    -webkit-transform: rotatez(135deg) translateY(30px) translateX(30px);
            transform: rotatez(135deg) translateY(30px) translateX(30px);
  }
  100% {
    -webkit-transform: rotatez(135deg) translateY(-35px) translateX(-35px);
            transform: rotatez(135deg) translateY(-35px) translateX(-35px);
  }
}
@-webkit-keyframes aniArrow02 {
  0% {
    -webkit-transform: translateX(-35px);
            transform: translateX(-35px);
  }
  100% {
    -webkit-transform: translateX(48px);
            transform: translateX(48px);
  }
}
@keyframes aniArrow02 {
  0% {
    -webkit-transform: translateX(-35px);
            transform: translateX(-35px);
  }
  100% {
    -webkit-transform: translateX(48px);
            transform: translateX(48px);
  }
}
@media screen and (max-width: 1279px) {
  .header {
    width: 96vw;
    margin: 0 0 0 4vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .header img {
    width: 16vw;
    padding-top: 2vh;
  }
  .header__nav {
    display: none;
  }
  .header__link {
    display: none;
  }
  .header__sp {
    display: block;
  }
  .header .sp-btn {
    position: relative;
    z-index: 9999;
    width: 100px;
    height: 100px;
    cursor: pointer;
  }
  .header .sp-btn span {
    display: inline-block;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    position: absolute;
    right: 4vw;
    height: 2px;
    background-color: #fff;
  }
  .header .sp-btn span:nth-of-type(1) {
    top: 36px;
    width: 50%;
  }
  .header .sp-btn span:nth-of-type(2) {
    top: 48px;
    width: 50%;
  }
  .header .sp-btn.active span:nth-of-type(1) {
    top: 34px;
    right: 5vw;
    -webkit-transform: translateY(6px) rotate(-45deg);
            transform: translateY(6px) rotate(-45deg);
    width: 35%;
  }
  .header .sp-btn.active span:nth-of-type(2) {
    top: 46px;
    right: 5vw;
    -webkit-transform: translateY(-6px) rotate(45deg);
            transform: translateY(-6px) rotate(45deg);
    width: 35%;
  }
  .header__sp-nav {
    padding-top: 20vh;
    font-size: 2.5rem;
    font-family: "Teko", sans-serif;
    margin-bottom: 6rem;
  }
  .header__sp-nav li {
    margin-bottom: 3rem;
    text-align: center;
    margin-left: -4vw;
  }
  .header__sp-nav a {
    color: #fff;
  }
  .header__sp-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 1.5rem;
    margin-left: -8vw;
  }
  .header__sp-link li {
    font-size: 1.25rem;
    font-family: "Teko", sans-serif;
    font-weight: 400;
    list-style: none;
    text-align: center;
  }
  .header__sp-link li a {
    position: relative;
    display: inline-block;
    min-width: 36vw;
    border: 0.5px #fff solid;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    color: #fff;
  }
  .sp-menu {
    position: fixed;
    top: 0;
    left: 0;
    color: #000;
    background-color: #000;
    width: 100%;
    height: 100vh;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: all 0.4s ease-in-out;
    transition: all 0.4s ease-in-out;
  }
  .sp-menu__content {
    position: relative;
    z-index: 9;
    padding-top: 20vh;
  }
  .sp-menu.active {
    z-index: 999;
    opacity: 1;
    visibility: visible;
  }
}
@media screen and (max-width: 1023px) {
  .kv__visual {
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100vh;
  }
  .kv__visual img {
    width: 100%;
    height: 100vh;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: 40%;
       object-position: 40%;
  }
  .kv__copy {
    position: absolute;
    z-index: 2;
    top: 320px;
    right: 12vw;
    width: 48vw;
  }
  .kv__copy img {
    width: 100%;
  }
  .kv__logo {
    position: absolute;
    top: 520px;
    right: 4vw;
    z-index: 2;
    width: 72vw;
    -webkit-animation: blur 2s linear forwards;
            animation: blur 2s linear forwards;
  }
  @-webkit-keyframes blur {
    0% {
      -webkit-filter: blur(100px);
              filter: blur(100px);
    }
    100% {
      -webkit-filter: blur(0px);
              filter: blur(0px);
    }
  }
  @keyframes blur {
    0% {
      -webkit-filter: blur(100px);
              filter: blur(100px);
    }
    100% {
      -webkit-filter: blur(0px);
              filter: blur(0px);
    }
  }
  .kv__logo img {
    width: 100%;
  }
  .header {
    width: 96vw;
    margin: 0 0 0 4vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .header img {
    width: 24vw;
  }
  .header__nav {
    display: none;
  }
  .header__link {
    display: none;
  }
  .header__sp {
    display: block;
  }
  .header .sp-btn {
    position: relative;
    z-index: 9999;
    width: 100px;
    height: 100px;
    cursor: pointer;
  }
  .header .sp-btn span {
    display: inline-block;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    position: absolute;
    right: 4vw;
    height: 2px;
    background-color: #fff;
  }
  .header .sp-btn span:nth-of-type(1) {
    top: 36px;
    width: 50%;
  }
  .header .sp-btn span:nth-of-type(2) {
    top: 48px;
    width: 50%;
  }
  .header .sp-btn.active span:nth-of-type(1) {
    top: 34px;
    right: 5vw;
    -webkit-transform: translateY(6px) rotate(-45deg);
            transform: translateY(6px) rotate(-45deg);
    width: 35%;
  }
  .header .sp-btn.active span:nth-of-type(2) {
    top: 46px;
    right: 5vw;
    -webkit-transform: translateY(-6px) rotate(45deg);
            transform: translateY(-6px) rotate(45deg);
    width: 35%;
  }
  .header__sp-nav {
    padding-top: 20vh;
    font-size: 2.5rem;
    font-family: "Teko", sans-serif;
    margin-bottom: 5rem;
  }
  .header__sp-nav li {
    margin-bottom: 2rem;
  }
  .header__sp-nav a {
    color: #fff;
  }
  .header__sp-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 1.5rem;
    margin-left: -8vw;
  }
  .header__sp-link li {
    font-size: 1.25rem;
    font-family: "Teko", sans-serif;
    font-weight: 400;
    list-style: none;
    text-align: center;
  }
  .header__sp-link li a {
    position: relative;
    display: inline-block;
    min-width: 36vw;
    border: 0.5px #fff solid;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    color: #fff;
  }
  .sp-menu {
    position: fixed;
    top: 0;
    left: 0;
    color: #000;
    background-color: #000;
    width: 100%;
    height: 100vh;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: all 0.4s ease-in-out;
    transition: all 0.4s ease-in-out;
  }
  .sp-menu__content {
    position: relative;
    z-index: 9;
    padding-top: 20vh;
  }
  .sp-menu.active {
    z-index: 999;
    opacity: 1;
    visibility: visible;
  }
  .technology h2 {
    padding-left: 4vw;
  }
  .technology h2 img {
    width: 80vw;
  }
  .technology h3 {
    width: 68vw;
    margin: 0 0 -20px 4vw;
  }
  .technology__box {
    width: 92vw;
    margin: 0 auto 120px auto;
    background: url(../../_assets/img/bg_technology01_sp.svg) no-repeat top;
    background-size: 100%;
    border-bottom: 1px #6CFDFF solid;
  }
  .technology__content {
    position: relative;
    z-index: 2;
    padding: 16vh 4vw 8vh 4vw;
  }
  .technology__counterbalance-unit {
    position: relative;
  }
  .technology__counterbalance-unit h4 {
    margin-bottom: 1.5rem;
    font-size: 1.5rem;
  }
  .technology__counterbalance-unit h5 {
    margin-bottom: 1.5rem;
    padding-bottom: 0.5rem;
    font-size: 1rem;
  }
  .technology__gyroburst-system {
    position: relative;
  }
  .technology__gyroburst-system-bg {
    width: 100%;
    min-height: 2000px;
    background: url(../../_assets/img/bg_technology02.png) no-repeat right top;
    background-size: contain;
  }
  .technology__gyroburst-system h3 {
    width: 72vw;
    margin: 0 0 -20px 4vw;
  }
  .technology__gyroburst-system h4 {
    font-size: 1.5rem;
  }
  .technology__gyroburst-system h5 {
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    font-size: 1.125rem;
    border-bottom: 0.5px #fff solid;
  }
  .technology__gyroburst-system p {
    margin-bottom: 2rem;
    text-align: justify;
  }
  .technology__gyroburst-system dl {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 24px;
  }
  .technology__gyroburst-system dl dt {
    width: 50%;
    font-size: 1.25rem;
    font-weight: 600;
    text-align: right;
  }
  .technology__gyroburst-system dl dd {
    width: 30%;
  }
  .technology__gyroburst-system-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 48px;
  }
  .technology__gyroburst-system-detail {
    display: block;
    width: 40%;
  }
  .technology__gyroburst-system-img {
    width: 100%;
  }
  .technology__gyroburst-system-img img {
    width: 100%;
  }
  .technology__gyroburst-system-course {
    margin-top: 64px;
  }
  .technology__gyroburst-system-course h5 {
    font-size: 1.125rem;
    border: none;
  }
  .technology__gyroburst-system-course h5 span {
    margin-left: 1.5rem;
    font-weight: 300;
    font-size: 0.875rem;
  }
  .technology__servo-filter {
    position: relative;
  }
  .technology__servo-filter-bg {
    position: absolute;
    z-index: -10;
    top: -64px;
    width: 100%;
    min-height: 2000px;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    background: url(../../_assets/img/bg_technology03.png) no-repeat top left;
    background-size: contain;
  }
  .technology__servo-filter h3 {
    width: 40vw;
    margin: 0 0 -20px 4vw;
  }
  .technology__servo-filter h4 {
    margin-bottom: 1.5rem;
    font-size: 1.5rem;
  }
  .technology__servo-filter h5 {
    margin-bottom: 1.5rem;
    padding-bottom: 0.5rem;
    font-size: 1rem;
    border-bottom: 0.5px #fff solid;
  }
  .technology__servo-filter-wrap {
    display: block;
    gap: 56px;
    margin-top: 3.5rem;
  }
  .technology__servo-filter-wrap img {
    margin-bottom: 16px;
  }
  .technology__servo-filter-wrap p {
    font-size: 0.925rem;
    text-align: justify;
  }
  .technology__servo-filter-pic {
    width: 100%;
    margin-bottom: 40px;
  }
  .technology__servo-filter-img {
    width: 100%;
  }
  .technology__servo-filter-img dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 24px;
    margin-bottom: 0.5rem;
  }
  .technology__servo-filter-img dl dt {
    width: 32%;
    text-align: right;
  }
  .technology__servo-filter-img p {
    margin-bottom: 1.5rem;
    text-align: right;
    font-size: 0.75rem;
  }
  .products h2 {
    width: 64vw;
    margin: 0 0 120px 4vw;
  }
  .products__detail {
    margin: 0 auto 80px auto;
  }
  .strings h2 {
    width: 48vw;
    margin: 0 0 120px 4vw;
  }
  .geobreak-design h2 {
    width: 64vw;
    margin: 0 0 120px 4vw;
  }
  .geobreak-design__photo {
    width: 64vw;
    margin: 0 auto 80px auto;
  }
  .geobreak-design__wrap {
    display: block;
  }
  .geobreak-design__wrap img {
    margin-bottom: 32px;
  }
  .geobreak-design__wrap .geobreak-design__detail:first-child,
  .geobreak-design__wrap .geobreak-design__detail:nth-child(4) {
    width: 72vw;
    margin: 0 auto 80px auto;
  }
  .geobreak-design__wrap .geobreak-design__detail:nth-child(2),
  .geobreak-design__wrap .geobreak-design__detail:nth-child(3),
  .geobreak-design__wrap .geobreak-design__detail:nth-child(5),
  .geobreak-design__wrap .geobreak-design__detail:nth-child(6) {
    width: 48vw;
    margin: 0 auto 80px auto;
  }
  footer {
    position: relative;
    width: 100vw;
    min-height: 400px;
    margin-top: 200px;
    padding-top: 60px;
  }
  footer::before {
    position: absolute;
    top: -100px;
    content: "";
    width: 100%;
    min-height: 300px;
    background: url(../../_assets/img/logo_geobreak.png) no-repeat center top;
    background-size: 100%;
    opacity: 0.2;
  }
  footer ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 16px;
    margin-bottom: 60px;
    padding-right: 8vw;
  }
  footer ul li {
    font-size: 1rem;
  }
  footer ul li img {
    width: 4vw;
    margin-right: 12px;
    margin-bottom: 5px;
  }
  footer small {
    display: block;
    color: #fff;
    font-family: "Teko", sans-serif;
    font-size: 1rem;
    text-align: center;
  }
}
@media screen and (max-width: 575px) {
  .kv {
    width: 100vw;
    height: 100vh;
    clip-path: inset(0% 0% 0% 0%);
    overflow: hidden;
  }
  .kv__visual {
    width: 100%;
    height: 100vh;
  }
  .kv__visual img {
    width: 100%;
    height: 100vh;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .kv__copy {
    top: 11vh;
    right: 18vw;
    width: 64vw;
  }
  .kv__logo {
    top: 21vh;
    right: 6vw;
    width: 88vw;
  }
  .movie {
    min-height: auto;
    padding-top: 160px;
    padding-bottom: 160px;
    background: url(../../_assets/img/bg_movie.png) no-repeat top;
  }
  .movie iframe {
    width: 92vw;
    height: 52vw;
    -webkit-box-shadow: 10px 10px 40px 0px rgb(0, 0, 0);
            box-shadow: 10px 10px 40px 0px rgb(0, 0, 0);
  }
  h2 {
    width: 92vw;
    margin: 0 auto 120px auto;
  }
  .technology {
    margin-top: 160px;
    margin-bottom: 160px;
  }
  .technology h2 img {
    width: 80vw;
  }
  .technology h3 {
    width: 68vw;
    margin: 0 0 -20px 4vw;
  }
  .technology__box {
    width: 92vw;
    margin: 0 auto 120px auto;
    background: url(../../_assets/img/bg_technology01_sp.svg) no-repeat top;
    background-size: 100%;
    border-bottom: 1px #6CFDFF solid;
  }
  .technology__content {
    position: relative;
    z-index: 2;
    padding: 10vh 4vw 8vh 4vw;
  }
  .technology__counterbalance-unit {
    position: relative;
  }
  .technology__counterbalance-unit-bg {
    position: absolute;
    z-index: 1;
    top: -64px;
    width: 100%;
    min-height: 2000px;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    background: url(../../_assets/img/bg_technology01.png) no-repeat top left;
    background-size: contain;
    opacity: 0.25;
  }
  .technology__counterbalance-unit h4 {
    margin-bottom: 1.5rem;
    font-size: 1.5rem;
  }
  .technology__counterbalance-unit h5 {
    margin-bottom: 1.5rem;
    padding-bottom: 0.5rem;
    font-size: 1rem;
  }
  .technology__counterbalance-unit-wrap {
    display: block;
    gap: 56px;
  }
  .technology__counterbalance-unit-wrap img {
    margin-bottom: 16px;
  }
  .technology__counterbalance-unit-wrap p {
    font-size: 0.875rem;
  }
  .technology__gyroburst-system {
    position: relative;
  }
  .technology__gyroburst-system-bg {
    width: 100%;
    min-height: 2000px;
    background: url(../../_assets/img/bg_technology02.png) no-repeat right top;
    background-size: contain;
  }
  .technology__gyroburst-system h3 {
    width: 72vw;
    margin: 0 0 -20px 4vw;
  }
  .technology__gyroburst-system h4 {
    font-size: 1.5rem;
  }
  .technology__gyroburst-system h5 {
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    font-size: 1.125rem;
    border-bottom: 0.5px #fff solid;
  }
  .technology__gyroburst-system h5 img {
    width: 64vw;
  }
  .technology__gyroburst-system p {
    margin-bottom: 2rem;
    text-align: justify;
  }
  .technology__gyroburst-system dl dt {
    width: auto;
    font-size: 1rem;
  }
  .technology__gyroburst-system dl dd {
    width: auto;
  }
  .technology__gyroburst-system-wrap {
    display: block;
  }
  .technology__gyroburst-system-detail {
    display: block;
    width: auto;
    margin-bottom: 80px;
  }
  .technology__gyroburst-system-img {
    width: 100%;
  }
  .technology__gyroburst-system-img img {
    width: 48vw;
    margin: auto;
  }
  .technology__gyroburst-system-course {
    margin-top: 64px;
  }
  .technology__gyroburst-system-course h5 {
    font-size: 1.125rem;
    border: none;
  }
  .technology__gyroburst-system-course h5 span {
    margin-left: 1.5rem;
    font-weight: 300;
    font-size: 0.875rem;
  }
  .technology__servo-filter {
    position: relative;
  }
  .technology__servo-filter-bg {
    position: absolute;
    z-index: -10;
    top: -64px;
    width: 100%;
    min-height: 2000px;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    background: url(../../_assets/img/bg_technology03.png) no-repeat top left;
    background-size: contain;
  }
  .technology__servo-filter h3 {
    width: 40vw;
    margin: 0 0 -20px 4vw;
  }
  .technology__servo-filter h4 {
    margin-bottom: 1.5rem;
    font-size: 1.5rem;
  }
  .technology__servo-filter h5 {
    margin-bottom: 1.5rem;
    padding-bottom: 0.5rem;
    font-size: 1rem;
    border-bottom: 0.5px #fff solid;
  }
  .technology__servo-filter-wrap {
    display: block;
    gap: 56px;
    margin-top: 3.5rem;
  }
  .technology__servo-filter-wrap img {
    margin-bottom: 16px;
  }
  .technology__servo-filter-wrap p {
    font-size: 0.925rem;
    text-align: justify;
  }
  .technology__servo-filter-pic {
    width: 100%;
    margin-bottom: 40px;
  }
  .technology__servo-filter-img {
    width: 100%;
  }
  .technology__servo-filter-img dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 24px;
    margin-bottom: 0.5rem;
  }
  .technology__servo-filter-img dl dt {
    width: 32%;
    text-align: right;
  }
  .technology__servo-filter-img p {
    margin-bottom: 1.5rem;
    text-align: right;
    font-size: 0.75rem;
  }
  .products {
    position: relative;
    margin-bottom: 160px;
  }
  .products__bg {
    position: absolute;
    z-index: -10;
    width: 100%;
    min-height: 2000px;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    background: url(../../_assets/img/bg_products.png) no-repeat center;
    background-size: contain;
  }
  .products h2 {
    width: 64vw;
    margin: 0 0 120px 4vw;
  }
  .products__wrap {
    display: block;
  }
  .products h3 {
    width: auto;
  }
  .products h3 img {
    width: 80vw;
    margin: auto;
  }
  .products h3 span {
    line-height: 3.6;
    font-size: 0.875rem;
  }
  .products p {
    font-size: 1rem;
  }
  .products__detail {
    width: 80vw;
    margin: 0 auto 80px auto;
  }
  .products__photo {
    width: 48vw;
    margin: 0 auto 24px auto;
  }
  .products__photo img {
    width: 48vw;
  }
  .products__price span {
    font-size: 0.875rem;
  }
  .products__order {
    margin-top: 2.5rem;
  }
  .products__order p {
    font-weight: 300;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }
  .products__order p.active {
    color: #6CFDFF;
  }
  .products__order a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 24px;
  }
  .strings {
    margin-bottom: 160px;
  }
  .strings h2 {
    width: 48vw;
    margin: 0 0 120px 4vw;
  }
  .strings__wrap {
    display: block;
  }
  .strings__detail {
    width: 92vw;
    margin: 0 auto 80px auto;
  }
  .strings__package {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 4vw;
    margin-bottom: 24px;
  }
  .strings__package div:first-child {
    width: 40vw;
    margin-bottom: 32px;
  }
  .strings h3 {
    font-size: 2rem;
  }
  .strings h3 span:first-child {
    font-size: 1rem;
  }
  .strings h3 span:nth-child(2) {
    font-size: 1rem;
  }
  .strings__txt {
    font-size: 1rem;
  }
  .strings__price span {
    font-size: 0.875rem;
  }
  .strings__color {
    font-size: 0.875rem;
  }
  .geobreak-design h2 {
    width: 64vw;
    margin: 0 0 120px 4vw;
  }
  .geobreak-design__photo {
    width: 64vw;
    margin: 0 auto 80px auto;
  }
  .geobreak-design__wrap {
    display: block;
  }
  .geobreak-design__wrap img {
    margin-bottom: 32px;
  }
  .geobreak-design__wrap .geobreak-design__detail:first-child,
  .geobreak-design__wrap .geobreak-design__detail:nth-child(4) {
    width: 80vw;
    margin: 0 auto 80px auto;
  }
  .geobreak-design__wrap .geobreak-design__detail:nth-child(2),
  .geobreak-design__wrap .geobreak-design__detail:nth-child(3),
  .geobreak-design__wrap .geobreak-design__detail:nth-child(5),
  .geobreak-design__wrap .geobreak-design__detail:nth-child(6) {
    width: 56vw;
    margin: 0 auto 80px auto;
  }
  .geobreak-design h3 {
    margin-bottom: 1rem;
    font-size: 1.25rem;
  }
  .geobreak-design__price span {
    font-size: 0.875rem;
  }
  .geobreak-design__color {
    font-size: 0.875rem;
  }
  footer {
    position: relative;
    width: 100vw;
    min-height: 400px;
    margin-top: 200px;
    padding-top: 60px;
  }
  footer::before {
    position: absolute;
    top: -100px;
    content: "";
    width: 100%;
    min-height: 300px;
    background: url(../../_assets/img/logo_geobreak.png) no-repeat center top;
    background-size: 100%;
    opacity: 0.2;
  }
  footer ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 16px;
    margin-bottom: 60px;
    padding-right: 8vw;
  }
  footer ul li {
    font-size: 1rem;
  }
  footer ul li img {
    width: 4vw;
    margin-right: 12px;
    margin-bottom: 5px;
  }
  footer small {
    display: block;
    color: #fff;
    font-family: "Teko", sans-serif;
    font-size: 1rem;
    text-align: center;
  }
} 
/* -----------------------------------------------
追加スタイル
----------------------------------------------- */
.technology .ttl-geo50 {
  text-align: center;
  padding: 16px;
  border: solid 1px #6cfdff;
  margin: 36px 0;
}
.technology .ttl-geo50 span {
  color: #fff;
  font-weight: bold;
}
.technology .ttl-geo50 img {
  margin: auto;
}
.technology .mod-col2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 24px;
  margin-top: 36px;
}
@media (min-width: 768px) {
  .technology .mod-col2 {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.technology .mod-col2 .box-image img {
  width: 100%;
}
.technology .txt-comment {
  text-align: right;
  font-size: 0.75rem;
}

.strings__package div:first-child {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.strings__package {
  gap: 24px;
}

.products .products__wrap {
  margin-bottom: 120px;
  position: relative;
}
.products .products__bg {
  min-height: 1000px;
  top: 0;
  bottom: 0;
  margin: auto calc(50% - 50vw);
}
.products .products__bg.sv50 {
  background: url(../../_assets/img/bg_products-50.png) no-repeat center/contain;
}
.products .products__bg.steer70 {
  background: url(../../_assets/img/bg_products-70steer.png) no-repeat center/contain;
}

footer::before {
  background: url(../../_assets/img/logo_geobreak_bottom.png) no-repeat center top/contain;
}

.movie {
  min-height: 0;
  padding: 100px;
}
.movie .movie-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 40px;
  width: 100%;
  max-width: 1750px;
  margin: auto;
  list-style: none;
  padding: 0;
}
@media (min-width: 768px) {
  .movie .movie-list {
    gap: 48px;
  }
}
@media (min-width: 1280px) {
  .movie .movie-list {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.movie .movie-list > .item {
  width: 100%;
}
@media (min-width: 1280px) {
  .movie .movie-list > .item {
    max-width: calc((100% - 48px) / 2);
  }
}
.movie .movie-list > .item > .coming {
  display: -ms-grid;
  display: grid;
  place-content: center;
  aspect-ratio: 16/9;
  width: 100%;
  border: solid 1px #000;
  color: #000;
}
.movie iframe {
  aspect-ratio: 16/9;
  width: 100%;
  height: 100%;
  margin: 0;
  border: 0;
}
body {
  overflow-x: hidden;
}

h2 {
  margin: 0 auto 10vh auto;
}

.txt-center {
  text-align: center;
}

.txt-teko {
  font-size: 1.5em;
  font-family: "Teko", sans-serif;
  font-weight: 500;
}

.header .header__nav li a {
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
  text-shadow: 0 0 3px #353535;
}
.header .header__link li a {
  -webkit-transition: border 0.3s, color 0.3s;
  transition: border 0.3s, color 0.3s;
  text-shadow: 0 0 3px #353535;
  -webkit-box-shadow: 0 0 3px #353535;
          box-shadow: 0 0 3px #353535;
}
.header .sp-btn span {
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
  -webkit-box-shadow: 0 0 3px #353535;
          box-shadow: 0 0 3px #353535;
}
.header.is-black .header__nav li a {
  color: #000;
}
.header.is-black .header__nav li a:hover {
  color: #6CFDFF;
}
.header.is-black .header__link li a {
  color: #000;
  border: 0.5px #000 solid;
}
.header.is-black .header__link li a:hover {
  color: #6CFDFF;
}
.header.is-black .sp-btn span {
  background-color: #000;
}
.header.is-black .sp-btn.active span {
  background-color: #fff;
}

.movie {
  background: -webkit-gradient(linear, left bottom, left top, from(rgba(238, 243, 239, 0)), color-stop(15%, rgb(238, 243, 239)));
  background: linear-gradient(0deg, rgba(238, 243, 239, 0) 0%, rgb(238, 243, 239) 15%);
}

.mod-fvSlide.sv80 .kv__visual img {
  -o-object-position: top;
     object-position: top;
}
.mod-fvSlide.sv80 .kv__copy {
  display: none;
}
@media (min-width: 768px) {
  .mod-fvSlide.sv80 .kv__copy {
    display: block;
    width: min(25vw, 500px);
    top: 50%;
    right: 30px;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
.mod-fvSlide.sv80 .kv__logo {
  display: none;
}
@media (min-width: 768px) {
  .mod-fvSlide.sv80 .kv__logo {
    display: block;
    width: min(40vw, 800px);
    bottom: 120px;
    left: 30px;
    top: auto;
    right: auto;
  }
}

.technology .ttl-technology {
  max-width: 1200px;
  margin: 0 auto 1.5rem;
  padding: 0 16px;
}
@media (min-width: 1024px) {
  .technology .ttl-technology {
    padding: 0;
    margin: 0 auto 32px;
  }
}
.technology .ttl-technology strong {
  font-weight: 600;
  font-size: 32px;
  border-bottom: 1px #6CFDFF solid;
}
@media (max-width: 750px) {
  .technology .ttl-technology strong {
    font-size: max(4.2666666667vw, 18px);
  }
}
.technology .ttl-technology strong.series80 {
  border-bottom: 1px #eef3ef solid;
}
.technology .technology__counterbalance-unit.helixedge h3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 16px;
  font-size: 32px;
}
@media (max-width: 575px) {
  .technology .technology__counterbalance-unit.helixedge h3 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0;
    font-size: max(5.5652173913vw, 20px);
  }
}
.technology .technology__counterbalance-unit.helixedge h3 span {
  font-size: 18px;
}
@media (max-width: 575px) {
  .technology .technology__counterbalance-unit.helixedge h3 span {
    font-size: 14px;
  }
}
.technology .technology__counterbalance-unit.helixedge .box-pattern {
  max-width: 100%;
  margin: auto;
}
.technology .technology__counterbalance-unit.helixedge .txt-num {
  font-size: 2.25em;
}
.technology .technology__counterbalance-unit.helixedge .txt-strong {
  font-size: 2em;
}
@media (max-width: 575px) {
  .technology .technology__counterbalance-unit.helixedge .txt-strong {
    font-size: 1.5em;
  }
}
.technology .technology__counterbalance-unit.helixedge .mod-col2 .box-image,
.technology .technology__counterbalance-unit.helixedge .mod-col2 .box-info {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.technology .technology__counterbalance-unit.helixedge .technology__helixedge-bg {
  position: absolute;
  z-index: 1;
  top: 64px;
  width: 100%;
  height: 100%;
  min-height: 2000px;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  background: url(../../_assets/img/bg_technology-helix.png) no-repeat center/contain;
  opacity: 0.25;
}
.technology .technology__box {
  background: none;
  background-color: rgba(0, 0, 0, 0.5);
  border-left: 1px #6CFDFF solid;
  border-right: 1px #6CFDFF solid;
  border-bottom: 1px #6CFDFF solid;
  position: relative;
  top: 39px;
}
@media (min-width: 1024px) {
  .technology .technology__box {
    top: 63px;
  }
}
.technology .technology__box::before {
  content: "";
  display: block;
  width: 78px;
  height: 100%;
  background: url(../../_assets/img/bg_technology01_sp.svg) no-repeat top/contain;
  position: absolute;
  top: -39px;
  right: -1px;
  pointer-events: none;
}
@media (min-width: 1024px) {
  .technology .technology__box::before {
    background: url(../../_assets/img/bg_technology01.svg) no-repeat top/contain;
    width: calc(100% + 1px);
    top: -63px;
    left: 0;
    right: auto;
  }
}
.technology .technology__box::after {
  content: "";
  display: block;
  width: calc(100% - 76px);
  position: absolute;
  top: 0;
  left: 0;
  border-bottom: solid 1px #6cfdff;
  pointer-events: none;
}
@media (min-width: 1024px) {
  .technology .technology__box::after {
    display: none;
  }
}
.technology .technology__box img {
  width: 100%;
}
.technology .technology__box .technology__content {
  position: relative;
  padding: 4vh 4vw;
}
@media (min-width: 1024px) {
  .technology .technology__box .technology__content {
    padding: 80px 104px;
  }
}
.technology .technology__box .technology__content .comment {
  font-size: 12px;
  position: absolute;
  top: 3vw;
  right: 4vw;
}
@media (max-width: 575px) {
  .technology .technology__box .technology__content .comment {
    top: 2vw;
  }
}
@media (min-width: 1024px) {
  .technology .technology__box .technology__content .comment {
    font-size: 14px;
    top: -20px;
    right: 120px;
  }
}
.technology .technology__box .technology__content:not(:first-child) {
  padding: 0 4vw 4vh 4vw;
}
@media (min-width: 1024px) {
  .technology .technology__box .technology__content:not(:first-child) {
    padding: 0 104px 80px;
  }
}
.technology .technology__box .technology__content:not(:last-child)::after {
  content: "";
  display: block;
  height: 1px;
  width: 95%;
  background-color: #6cfdff;
  margin: 8vh auto 0;
}
.technology .technology__box .technology__content .technology__counterbalance-unit-wrap {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.technology .technology__box .technology__content .technology__counterbalance-unit-wrap div:only-of-type img {
  margin: auto;
}
.technology .series80 .technology__box {
  border-left: 1px #eef3ef solid;
  border-right: 1px #eef3ef solid;
  border-bottom: 1px #eef3ef solid;
}
.technology .series80 .technology__box::before {
  background: url(../../_assets/img/bg_technology02_sp.svg) no-repeat top/contain;
}
@media (min-width: 1024px) {
  .technology .series80 .technology__box::before {
    background: url(../../_assets/img/bg_technology02.svg) no-repeat top/contain;
  }
}
.technology .series80 .technology__box::after {
  border-bottom: solid 1px #eef3ef;
}
@media (min-width: 1024px) {
  .technology .series80 .technology__box::after {
    display: none;
  }
}

.products .products__bg.svg80 {
  background: url(../../_assets/img/bg_products-80.png) no-repeat center/contain;
}

.strings .strings__wrap {
  max-width: 1144px;
  margin: auto;
  padding: 0 24px;
}
.strings .strings__wrap .strings__detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  max-width: calc((100% - 104px) / 2);
}
@media (max-width: 575px) {
  .strings .strings__wrap .strings__detail {
    max-width: 100%;
  }
}
.strings .strings__wrap .strings__detail .strings__package {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-bottom: 48px;
}
@media (min-width: 1280px) {
  .strings .strings__wrap .strings__detail .strings__package {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.strings .strings__wrap .strings__detail .strings__package div:first-child {
  margin-bottom: 0;
}
@media (max-width: 575px) {
  .strings .strings__wrap .strings__detail .strings__package div:first-child {
    margin: auto;
  }
}
.strings .br-pc {
  display: none;
}
@media (min-width: 1280px) {
  .strings .br-pc {
    display: block;
  }
}