@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@100;300;400;500&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@200..700&display=swap");
.font-oswald {
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 500;
}

html {
  font-family: "Noto Sans TC", "Roboto", sans-serif;
  font-size: 2.5vw;
  font-weight: 300;
  --purple: #4F83C2;
  --green_dark: #018139;
  --green_lite: #9CCD5A;
  --red_word:#FA835F;
}
@media all and (min-width: 769px) {
  html {
    font-size: 12px;
  }
}
@media all and (min-width: 1024px) {
  html {
    font-size: 12px;
  }
}
@media all and (min-width: 1200px) {
  html {
    font-size: 14px;
  }
}
@media all and (min-width: 1450px) {
  html {
    font-size: 16px;
  }
}
html * {
  box-sizing: border-box;
}
html img {
  display: block;
  width: 100%;
}
html img.cover {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
html a {
  color: inherit;
  text-decoration: none;
}
html body {
  width: 100%;
}
html body:has(.comming_soon) {
  background-color: var(--green_dark);
}
@media screen and (max-width: 1039px) {
  html body:has(.hem.open) {
    overflow: hidden;
  }
}

header {
  position: fixed;
  z-index: 999;
  width: 100%;
  top: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 2% 5%;
  transition: all 0.3s ease-in-out;
  font-size: 2.3vh;
}
header .logo {
  width: 40%;
}
header .logo img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
header nav {
  transition: all 0.5s;
  width: 100%;
  height: 100vh;
  background-color: #fff;
  position: fixed;
  top: 0;
  right: -100%;
}
header nav.open {
  right: 0;
}
header nav .nav_list {
  padding: 5vh 10%;
}
header nav .nav_list .nav_item {
  padding: 0.5em 0;
  line-height: 2.5;
  color: #333;
  border-bottom: 1px solid rgba(170, 170, 170, 0.3);
}
header nav .nav_list .nav_item a {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
@media all and (min-width: 1024px) {
  header nav .nav_list .nav_item a {
    display: block;
  }
}
header nav .nav_list .nav_item .icon {
  width: 1.5em;
  margin: 0 0.5em;
}
header nav .nav_list .nav_item.active {
  border-bottom: 3px solid #9bbfeb;
}
header nav .nav_list .nav_item:hover .icon, header nav .nav_list .nav_item.active .icon {
  scale: 1.2;
  filter: invert(47%) sepia(91%) saturate(342%) hue-rotate(173deg) brightness(87%) contrast(84%);
}
header nav .share_list {
  padding: 5% 10%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 1em;
}
header nav .share_list li {
  width: 3em;
  transition: transform 0.3s cubic-bezier(0.28, 2.07, 0.55, 0.08);
}
header nav .share_list li:hover {
  transform: scale(1.1);
}
@media screen and (max-width: 1023px) {
  header nav {
    overflow: auto;
  }
  header nav .nav_list .nav_item.collapse_list > a {
    position: relative;
  }
  header nav .nav_list .nav_item.collapse_list > a:after {
    position: absolute;
    content: "";
    width: 0.7em;
    height: 0.7em;
    bottom: 0.5em;
    right: 0em;
    background-color: var(--purple);
    -webkit-clip-path: polygon(0 0, 100% 0, 50% 60%);
            clip-path: polygon(0 0, 100% 0, 50% 60%);
    transform: rotate(0);
  }
  header nav .nav_list .nav_item.collapse_list .sub_list {
    display: none;
    padding: 0.5em 0;
  }
  header nav .nav_list .nav_item.collapse_list .sub_list .history_list {
    padding: 0.5em 1em;
    border-radius: 1em;
    border: 2px solid #9bbfeb;
  }
  header nav .nav_list .nav_item.collapse_list .sub_list .history_list .history_link {
    text-align: left;
    font-size: 0.9em;
  }
  header nav .nav_list .nav_item.collapse_list .sub_list .history_list .history_link a {
    padding-left: 1em;
  }
  header nav .nav_list .nav_item.collapse_list .sub_list .history_list .history_link ~ .history_link a {
    border-top: 1px solid #9bbfeb;
  }
}
@media all and (min-width: 1024px) {
  header nav {
    right: auto;
    width: auto;
    height: auto;
    background-color: transparent;
    position: initial;
    flex-grow: 1;
    display: flex;
    justify-content: space-evenly;
    align-items: center;
  }
  header nav .nav_list {
    position: relative;
    padding: 0;
    flex-grow: 1;
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    gap: 0;
    width: -moz-max-content;
    width: max-content;
    max-width: none;
    transition: left 0.2s ease-out;
  }
  header nav .nav_list .nav_item {
    position: relative;
    width: -moz-max-content;
    width: max-content;
    cursor: pointer;
    background-color: transparent;
    color: #333;
    font-weight: 500;
    line-height: 2;
    border: 0;
    border-radius: 0;
  }
  header nav .nav_list .nav_item a {
    padding: 0.5em 1.7em;
    display: flex;
  }
  header nav .nav_list .nav_item .icon {
    width: 2.2em;
    margin: 0 auto;
  }
  header nav .nav_list .nav_item.active {
    border: 0;
    border-bottom: 3px solid var(--purple);
    background-color: transparent;
    color: var(--purple);
  }
  header nav .nav_list .nav_item.collapse_list > a {
    display: block;
    position: relative;
  }
  header nav .nav_list .nav_item.collapse_list > a:after {
    position: absolute;
    content: "";
    width: 0.7em;
    height: 0.7em;
    bottom: 0.5em;
    right: -0.8em;
    background-color: #333;
    -webkit-clip-path: polygon(0 0, 100% 0, 50% 60%);
            clip-path: polygon(0 0, 100% 0, 50% 60%);
    transform: rotate(0);
  }
  header nav .nav_list .nav_item.collapse_list .sub_list {
    position: absolute;
    top: 0;
    left: 0;
    padding-top: 6em;
    opacity: 0;
    pointer-events: none;
    display: block !important;
  }
  header nav .nav_list .nav_item.collapse_list .sub_list .history_list {
    position: relative;
    width: -moz-max-content;
    width: max-content;
    padding: 1em 2em;
    background-color: #fff;
    border-radius: 1em;
    border: 3px solid var(--purple);
  }
  header nav .nav_list .nav_item.collapse_list .sub_list .history_list .history_link {
    padding: 1em;
  }
  header nav .nav_list .nav_item.collapse_list .sub_list .history_list .history_link ~ .history_link {
    border-top: 1px solid #92b5df;
  }
  header nav .nav_list .nav_item.collapse_list .sub_list .history_list .history_link:hover > a {
    transform: scale(1.05);
  }
  header nav .nav_list .nav_item.collapse_list .sub_list .history_list .list_arrow {
    position: absolute;
    width: 1.5em;
    height: 1.5em;
    top: 0;
    left: 3em;
    transform: translateY(-100%);
    background-color: var(--purple);
    -webkit-clip-path: polygon(0% 30%, 100% 100%, 0 100%);
            clip-path: polygon(0% 30%, 100% 100%, 0 100%);
  }
  header nav .nav_list .nav_item.collapse_list:hover > a::after {
    opacity: 0;
  }
  header nav .nav_list .nav_item.collapse_list:hover .sub_list {
    opacity: 1;
    pointer-events: all;
  }
  header nav .nav_list .nav_item.collapse_list:hover ~ .underLine {
    transform: translateX(3.5em);
    width: 1em !important;
    height: 0.5em;
    -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%, 0 0);
            clip-path: polygon(0 0, 100% 0, 50% 100%, 0 0);
  }
  header nav .nav_list .underLine {
    position: absolute;
    pointer-events: none;
    border-radius: 0;
    bottom: 0;
    left: 0;
    width: 0;
    height: 0.2em;
    background-color: var(--purple);
    opacity: 0;
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
            clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
  header nav .nav_list:has(.nav_item:hover) .underLine {
    opacity: 1;
    transition: all 0.5s cubic-bezier(0.12, 1.44, 0.39, 1), opacity 0.5s ease-in;
  }
  header nav .share_list {
    position: relative;
    z-index: 9;
    padding: 0;
  }
  header nav .share_list li {
    width: 3em;
  }
}
@media screen and (min-width: 1480px) {
  header nav .share_list {
    margin-left: 5%;
  }
}
header .hem {
  position: relative;
  z-index: 999;
  width: 1.5em;
  aspect-ratio: 1/1;
}
@media all and (min-width: 1024px) {
  header .hem {
    width: 1.5em;
  }
}
header .hem::before, header .hem:after {
  position: absolute;
  content: "";
  width: 80%;
  height: 0.2em;
  border-radius: 99em;
  background-color: var(--purple);
  left: 10%;
  top: 25%;
}
header .hem:after {
  top: 60%;
}
header .hem.open ~ nav {
  right: 0;
}
header .hem.open::before, header .hem.open:after {
  transform: rotate(45deg);
  top: 50%;
}
header .hem.open:after {
  transform: rotate(-45deg);
}
@media all and (min-width: 769px) {
  header .logo {
    width: 30%;
  }
}
@media all and (min-width: 1024px) {
  header {
    padding: 0 3%;
    font-size: 1.1vw;
  }
  header .logo {
    transition: all 0.3s ease-out;
    opacity: 0;
    width: 10%;
  }
  header .hem {
    display: none;
  }
}
@media all and (min-width: 1200px) {
  header {
    font-size: 1vw;
  }
}
@media all and (min-width: 1450px) {
  header {
    font-size: 1em;
  }
}
header.show nav {
  opacity: 1;
}
header.show.scroll {
  background-color: #fff;
  box-shadow: 0 -10px 20px 0px rgba(0, 0, 0, 0.35);
}
header.show.scroll .logo {
  opacity: 1;
}
@media all and (min-width: 1024px) {
  header.show.scroll .logo {
    width: 15%;
  }
}
@media all and (min-width: 1024px) {
  header.show.scroll .nav_list .active {
    background-color: #EDF6FC;
  }
}

footer {
  position: relative;
  background-color: var(--green_dark);
  color: #fff;
  padding: 3em 0;
  text-align: center;
  font-size: 1em;
}
footer ul li {
  line-height: 2.5;
}
@media all and (min-width: 769px) {
  footer {
    font-size: 0.8em;
  }
}

.gotop,
.back {
  position: fixed;
  z-index: 5;
  bottom: 2em;
  right: 1em;
  font-size: 1.3em;
  width: 3em;
  aspect-ratio: 1/1;
  border-radius: 99em;
  text-align: center;
  align-content: center;
  background-color: var(--purple);
  color: #fff;
}
@media all and (min-width: 1024px) {
  .gotop,
  .back {
    cursor: pointer;
    font-size: 1em;
    right: 3em;
    bottom: 3em;
  }
  .gotop:hover,
  .back:hover {
    scale: 1.1;
  }
}

section {
  position: relative;
}
section .section_title {
  text-align: center;
  font-size: 3.3em;
  font-weight: 500;
  text-transform: uppercase;
}
section .inner {
  width: 90%;
  margin: 0 auto;
}
@media all and (min-width: 1024px) {
  section .inner {
    width: 80%;
  }
}
section .overflow {
  overflow: hidden;
}

.kv {
  width: 100%;
  height: 100vh;
  background-image: linear-gradient(to bottom, #C6ECF4 0%, #F1F3E4 100%);
}
.kv .overflow_area {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  overflow: hidden;
}
.kv .overflow_area .cloud {
  position: absolute;
  top: 105%;
  width: 250vh;
  left: 50%;
  transform: translate(-50%, -50%);
  animation: rotate 60s infinite linear reverse;
}
@media all and (min-width: 1024px) {
  .kv .overflow_area .cloud {
    min-width: 1200px;
    width: 350vh;
    top: 125%;
  }
}
.kv .earth {
  position: absolute;
  aspect-ratio: 1/1;
  background: url("../img/index/earth_1.svg");
  animation: rotate 30s infinite linear;
  width: 100vh;
  top: 105%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.kv .earth::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background: url("../img/texture_100.png") left top repeat;
  -webkit-mask: url("../img/index/earth_1.svg") no-repeat center center;
          mask: url("../img/index/earth_1.svg") no-repeat center center;
  mix-blend-mode: multiply;
}
@keyframes rotate {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
@media all and (min-width: 1024px) {
  .kv .earth {
    min-width: 1200px;
    width: 170vh;
    top: 125%;
  }
}
.kv .h_title {
  display: none;
}
.kv .inner {
  position: absolute;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 50vh;
  max-width: 100%;
  top: 35%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.kv .inner .logo_2024 {
  order: 1;
  width: 60%;
}
.kv .inner .logo_2024 img {
  animation: float 1.5s ease-in-out alternate infinite;
}
.kv .inner .word {
  order: 0;
  margin-bottom: 10%;
  width: 80%;
}
.kv .inner .word .award_2024_9th {
  opacity: 0;
  --hz: 5%;
  animation: moveup 1s ease-in-out alternate both, float 1s ease-out 0.2s alternate-reverse infinite;
}
.kv .inner .word .main_title {
  opacity: 0;
  --hz: 1.5%;
  animation: moveup 1s ease-in-out 0.3s alternate both, float 1s ease-out alternate-reverse infinite;
}
@keyframes moveup {
  0% {
    transform: translateY(30%);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes float {
  0% {
    transform: translateY(var(--hz, 5%));
  }
  100% {
    transform: translateY(calc(var(--hz, 5%) * -1));
  }
}
@media all and (min-width: 1024px) {
  .kv .inner {
    top: 35%;
    width: 100vh;
    max-width: 80%;
    transform: translate(-53%, -50%);
  }
  .kv .inner .logo_2024 {
    order: 0;
    width: 40%;
  }
  .kv .inner .word {
    margin-bottom: 0;
    order: 1;
    width: 60%;
  }
}
.kv .grass {
  z-index: 2;
  position: absolute;
  width: 100%;
  bottom: -3vh;
  height: 50vh;
  overflow: hidden;
}
.kv .grass .g_L {
  position: absolute;
  width: 30vh;
  left: 0;
  bottom: 0;
  transform: translateX(-50%);
}
.kv .grass .g_R {
  position: absolute;
  width: 30vh;
  right: 0%;
  bottom: 0;
  transform: translateX(50%);
}
@media all and (min-width: 1024px) {
  .kv .grass {
    bottom: -7vh;
  }
  .kv .grass .g_L {
    width: 80vh;
  }
  .kv .grass .g_R {
    width: 80vh;
  }
}
.kv.sub {
  height: auto;
  aspect-ratio: 1/1;
}
.kv.sub .earth {
  width: 100%;
}
@media all and (min-width: 1024px) {
  .kv.sub .earth {
    width: 80%;
    min-width: auto;
    top: 150%;
  }
}
.kv.sub .cloud {
  width: 220%;
}
@media all and (min-width: 1024px) {
  .kv.sub .cloud {
    width: 150%;
    top: 150%;
  }
}
.kv.sub .inner {
  width: 100%;
}
.kv.sub .inner .sub_kv_title {
  height: 5em;
}
.kv.sub .inner .sub_kv_title img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
@media all and (min-width: 769px) {
  .kv.sub .inner .sub_kv_title {
    max-width: 80%;
    height: 15vw;
  }
}
@media all and (min-width: 1024px) {
  .kv.sub {
    aspect-ratio: 3/1;
  }
  .kv.sub .inner {
    transform: translate(-50%, -50%);
  }
  .kv.sub .inner .sub_kv_title {
    height: 5em;
  }
}

.video {
  position: relative;
}
.video video {
  width: 100%;
  cursor: pointer;
}
.video video.pause ~ .mask {
  opacity: 1;
}
.video video.pause ~ .mask .play {
  display: block;
}
.video video.pause ~ .mask .pause {
  display: none;
}
.video video:hover ~ .mask .play img,
.video video:hover ~ .mask .pause img {
  transform: scale(1.05);
}
.video .mask {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.5);
  cursor: pointer;
  pointer-events: none;
  opacity: 0;
}
.video .mask .play,
.video .mask .pause {
  position: absolute;
  width: 15%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  filter: invert(100%) sepia(100%) saturate(100%) hue-rotate(160deg) brightness(100%) contrast(100%);
  opacity: 0.5;
}
.video .mask .play img,
.video .mask .pause img {
  transition: transform 0.2s ease-out;
}
.video .mask .play {
  display: none;
}
.video .mask .pause {
  display: none;
}

.comming_soon {
  overflow: hidden;
  padding: 40% 0% 0%;
  background-color: var(--green_lite);
  -webkit-mask: url("../img/index/banner/background_grass.svg") no-repeat top center/cover;
          mask: url("../img/index/banner/background_grass.svg") no-repeat top center/cover;
  margin-top: -5%;
}
.comming_soon:before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  background: url("../img/texture_100.png") top left/100px;
  mix-blend-mode: multiply;
}
.comming_soon .bg_item {
  position: absolute;
  overflow: hidden;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.comming_soon .bg_item > div {
  position: absolute;
}
.comming_soon .bg_item .robot {
  width: 6%;
  bottom: 7%;
  left: 21%;
  z-index: 3;
}
.comming_soon .bg_item .grass_s._01 {
  width: 5%;
  bottom: 5%;
  left: 22%;
  z-index: 4;
}
.comming_soon .bg_item .tree_b._01 {
  width: 3%;
  bottom: 10%;
  right: 23%;
  z-index: 3;
}
.comming_soon .bg_item .tree_b._02 {
  width: 2%;
  top: 40%;
  left: 13%;
  z-index: 3;
}
.comming_soon .bg_item .tree_s._01 {
  width: 2.5%;
  top: 35%;
  right: 5%;
}
.comming_soon .bg_item .tree_y._01 {
  width: 3%;
  top: 25%;
  left: 3%;
}
.comming_soon .bg_item .tree_y._02 {
  width: 1.7%;
  top: 23%;
  right: 25%;
}
.comming_soon .bg_item .cloud._01 {
  width: 3%;
  bottom: 15%;
  right: 15%;
}
.comming_soon .inner {
  position: relative;
}
.comming_soon .inner .cm_bobo {
  position: absolute;
  width: 60%;
  top: -30%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.comming_soon .inner .cm_rob {
  width: 40%;
  margin: 0 auto -10%;
}
@media all and (min-width: 1024px) {
  .comming_soon {
    padding: 20% 0% 0%;
  }
  .comming_soon .inner {
    position: relative;
  }
  .comming_soon .inner .cm_bobo {
    position: absolute;
    width: 40%;
    top: -30%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .comming_soon .inner .cm_rob {
    width: 20%;
    margin: 0 auto -3%;
  }
}

.first_section {
  overflow: hidden;
  padding: 15% 0 20%;
  background-color: var(--green_lite);
  -webkit-mask: url("../img/item/background_grass_mb.svg") no-repeat top center/cover;
          mask: url("../img/item/background_grass_mb.svg") no-repeat top center/cover;
  margin-top: -5%;
}
.first_section:before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  background: url("../img/texture_100.png") top left/100px;
  mix-blend-mode: multiply;
}
.first_section .bg_item.basic {
  position: absolute;
  overflow: hidden;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.first_section .bg_item.basic > div {
  position: absolute;
}
.first_section .bg_item.basic .robot {
  width: 6%;
  bottom: 7%;
  left: 21%;
  z-index: 3;
}
.first_section .bg_item.basic .grass_s._01 {
  width: 5%;
  bottom: 5%;
  left: 22%;
  z-index: 4;
}
.first_section .bg_item.basic .tree_b._01 {
  width: 3%;
  bottom: 10%;
  right: 23%;
  z-index: 3;
}
.first_section .bg_item.basic .tree_b._02 {
  width: 2%;
  top: 40%;
  left: 13%;
  z-index: 3;
}
.first_section .bg_item.basic .tree_s._01 {
  width: 2.5%;
  top: 35%;
  right: 5%;
}
.first_section .bg_item.basic .tree_y._01 {
  width: 3%;
  top: 25%;
  left: 3%;
}
.first_section .bg_item.basic .tree_y._02 {
  width: 1%;
  top: 10%;
  right: 30%;
}
.first_section .bg_item.basic .cloud._01 {
  width: 3%;
  bottom: 15%;
  right: 15%;
}
@media all and (min-width: 769px) {
  .first_section {
    padding: 12% 0 12%;
    -webkit-mask: url("../img/index/banner/background_grass.svg") no-repeat top center/cover;
            mask: url("../img/index/banner/background_grass.svg") no-repeat top center/cover;
  }
}

section:has(.first_section_top) {
  position: relative;
  background-color: var(--green_lite);
}
section:has(.first_section_top):before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: url("../img/texture_100.png") repeat center center/100px;
  mix-blend-mode: multiply;
}
section:has(.first_section_top) .bg_item.basic {
  position: absolute;
  overflow: hidden;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  pointer-events: none;
}
section:has(.first_section_top) .bg_item.basic > div {
  position: absolute;
}
section:has(.first_section_top) .bg_item.basic .robot {
  width: 6%;
  bottom: 7%;
  left: 21%;
  z-index: 3;
}
section:has(.first_section_top) .bg_item.basic .grass_s._01 {
  width: 5%;
  bottom: 5%;
  left: 22%;
  z-index: 4;
}
section:has(.first_section_top) .bg_item.basic .tree_b._01 {
  width: 3%;
  bottom: 10%;
  right: 23%;
  z-index: 3;
}
section:has(.first_section_top) .bg_item.basic .tree_b._02 {
  width: 2%;
  top: 40%;
  left: 13%;
  z-index: 3;
}
section:has(.first_section_top) .bg_item.basic .tree_s._01 {
  width: 2.5%;
  top: 35%;
  right: 5%;
}
section:has(.first_section_top) .bg_item.basic .tree_y._01 {
  width: 3%;
  top: 25%;
  left: 3%;
}
section:has(.first_section_top) .bg_item.basic .tree_y._02 {
  width: 1%;
  top: 10%;
  right: 30%;
}
section:has(.first_section_top) .bg_item.basic .cloud._01 {
  width: 3%;
  bottom: 15%;
  right: 15%;
}
section:has(.first_section_top) .first_section_top {
  position: absolute;
  width: 100%;
  height: 1.7em;
  left: 0;
  top: 0;
  background-color: #9CCD5A;
  -webkit-mask: url("../img/background_grass.svg") no-repeat top center/cover;
          mask: url("../img/background_grass.svg") no-repeat top center/cover;
  transform: translateY(calc(-100% + 2px));
}
section:has(.first_section_top) .first_section_top:before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: url("../img/texture_100.png") repeat center center/100px;
  mix-blend-mode: multiply;
}
@media all and (min-width: 769px) {
  section:has(.first_section_top) .first_section_top {
    height: 2em;
  }
}
@media all and (min-width: 1024px) {
  section:has(.first_section_top) .first_section_top {
    height: 4em;
  }
}