@import url('https://fonts.googleapis.com/css2?family=Lato:wght@400;700&family=Noto+Sans+JP:wght@100..900&display=swap');

@charset "UTF-8";

/**************************************************
Brakpoint
***************************************************/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-style: normal;
  font-size: 100%;
  vertical-align: baseline;
}

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after {
  content: '';
  content: none;
}

q:before,
q:after {
  content: '';
  content: none;
}

input,
textarea {
  margin: 0;
  padding: 0;
}

ol,
ul {
  list-style-image: none;
  list-style-type: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption,
th {
  text-align: left;
}

a {
  text-decoration: none;
}

a:focus {
  outline: none;
}

.clearfix {
  min-height: 1px;
}

.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

* html .clearfix {
  height: 1px;
}

.both {
  clear: both;
}

.inline_block {
  display: inline-block;
  *display: inline;
  *zoom: 1;
}

/* Helper */
.valign_top {
  vertical-align: top;
}

input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

textarea {
  resize: vertical;
}

input[type='checkbox'],
input[type='radio'] {
  display: none;
}

input[type='submit'],
input[type='button'],
label,
button,
select {
  cursor: pointer;
  color: #3E3A39;
}

select::-ms-expand {
  display: none;
}

::-webkit-scrollbar {
  width: 5px;
  height: 5px;

}

::-webkit-scrollbar-track {
  background: #ddd;
   border-radius: 5px;
}

::-webkit-scrollbar-thumb {
  background: #13D697;
   border-radius: 5px;

}




/* COMMON
--------------------------------------------------- */
html {
  font-family: "Lato", "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-style: normal;
  height: 100%;
  color: #000;
  font-size: .6944444444vw !important;
  line-height: 1.8;
  letter-spacing: 0.09em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: "palt";
}

@media screen and (min-width: 1600px) {
  html {
    font-size: 0.625vw !important;
  }
}
@media screen and (min-width: 1800px) {
  html {
    font-size: 0.556vw !important;
  }
}
@media screen and (min-width: 2000px) {
  html {
    font-size: 0.5vw !important;
  }
}
@media screen and (min-width: 2200px) {
  html {
    font-size: 0.4545vw !important;
  }
}
@media screen and (min-width: 2400px) {
  html {
    font-size: 0.4167vw !important;
  }
}
@media screen and (min-width: 2600px) {
  html {
    font-size: 0.3846vw !important;
  }
}


#wrap {
position: relative;

}


#wrap::before {
  content: "";
  display: block;
  position: fixed;
  top: 0rem;
  left: 0rem;
  z-index: -1;
  width: 100%;
  height: 100vh;
  background-image: url(../img/bg.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  overflow: hidden;
}



a,
button {
  color: #000;
  -webkit-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

a:hover,
button:hover {
  -webkit-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}




.pc {
  display: block;
}

.sp {
  display: none;
}


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

.inner {
  max-width: 120rem;
  width: 100%;
  position: relative;
  margin: 0 auto;
  padding: 0 2rem;
}


.common_ttl_en {
  font-size: 7.4rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.05em;
  display: flex;
  overflow: hidden;
}

.common_ttl_en span {

  display: inline-block;
  transform: translateY(20rem);
  transition: all 0.7s ease-out;
}

.common_ttl_en.show span {
  transform: translateY(0);
}

.common_ttl_en.show span:nth-child(1) {
  transition-delay: 0.0s;
}

.common_ttl_en.show span:nth-child(2) {
  transition-delay: 0.06s;
}

.common_ttl_en.show span:nth-child(3) {
  transition-delay: 0.12s;
}

.common_ttl_en.show span:nth-child(4) {
  transition-delay: 0.18s;
}

.common_ttl_en.show span:nth-child(5) {
  transition-delay: 0.24s;
}

.common_ttl_en.show span:nth-child(6) {
  transition-delay: 0.30s;
}

.common_ttl_en.show span:nth-child(7) {
  transition-delay: 0.36s;
}

.common_ttl_en.show span:nth-child(8) {
  transition-delay: 0.42s;
}

.common_ttl_en.show span:nth-child(9) {
  transition-delay: 0.48s;
}

.common_ttl_en.show span:nth-child(10) {
  transition-delay: 0.54s;
}

.common_ttl_en.show span:nth-child(11) {
  transition-delay: 0.6s;
}
.common_ttl_en.show span:nth-child(12) {
  transition-delay: 0.66s;
}



.common_ttl_jp {
  position: relative;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: 0.05em;
  padding-left: 1.5rem;
}

.common_ttl_jp::before {
  content: "";
  background-color: #13D697;
  width: 1rem;
  height: 1rem;
  border-radius: 1rem;
  position: absolute;
  left: 0;
  top: 0.6rem;
}


.common_lead {
  font-size: 1.6rem;
  margin-top: 4rem;
}

.common_lead a {
  text-decoration: underline;
}

.common_btn {
  background-color: #000;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.0rem;
  width: 100%;
  height: 8rem;
  color: #fff;
  border-radius: 20rem;
  font-weight: 700;
  overflow: hidden;
  position: relative;
  z-index: 1;
}

.common_btn::after {
  content: '';
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: #555;
  border-radius: 30rem;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform 0.5s ease;
  z-index: -1;


}

.common_btn:hover::after {
  transform: scale(1, 1);
  transform-origin: left top;
}


.common_circle_link {
  background-color: #000;
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 24rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.5s ease-in-out;
  overflow: hidden;

}


.common_circle_link::after {
  content: '';
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: #38DEAB;
  border-radius: 999px;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform 0.5s ease;

}

.open-btn:hover .common_circle_link::after {
  transform: scale(1, 1);
  transform-origin: left top;

}

.common_circle_link .icon_plus {
  width: 1rem;
  height: 1rem;
  position: relative;
  z-index: 1;

}

.common_circle_link .icon_plus::before,
.common_circle_link .icon_plus::after {
  content: "";
  position: absolute;
  top: 0.4rem;
  left: 0;
  width: 1rem;
  height: 2px;
  background-color: #fff;
}

.common_circle_link .icon_plus::after {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}






/* ボタン */
.open-btn {
  transition: 0.3s ease-in-out;
}



.open-btn:hover {
  cursor: pointer;
  transition: 0.3s ease-in-out;
}


/*     .open-btn:hover .common_circle_link{
        background-color: #13D697;
          transition: 0.3s ease-in-out;
           opacity: 1.0;
    }
 */

.hover_img{
  overflow: hidden;
   border-radius: 2rem;
}

.hover_img img{
  height: auto;
  transition: transform .6s ease; /* ゆっくり変化させる */
  border-radius: 2rem;
}
.open-btn:hover .hover_img img{
transform: scale(1.08); /* 拡大 */
border-radius: 2rem;
}


.close-btn {
  position: absolute;
  top: 0.5rem;
  right: 0rem;
  border: none;
  cursor: pointer;
  transition: transform 0.3s ease;
}

.close-btn .icon_close {
  display: block;
  position: relative;
  width: 2.6rem;
  height: 2.6rem;
}

.close-btn .icon_close::before,
.close-btn .icon_close::after {
  /* 共通設定 */
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.2rem;
  /* 棒の幅（太さ） */
  height: 1.6rem;
  /* 棒の高さ */
  background: #000;
}

.close-btn .icon_close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.close-btn .icon_close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}



/* モーダル背景 */
.modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  z-index: 9999;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

/* モーダル表示状態 */
.modal.active {
  display: flex;
  opacity: 1;
  pointer-events: auto;
}

.modal-content {
  background: #fff;
  padding: 3.5rem;
  border-radius: 1rem;
  width: 100%;
  max-width: 60rem;
  text-align: left;
  position: relative;
  opacity: 0;
  transform: scale(0.8);
  transition: all 0.3s ease;
}

.modal-content.modal_careers {
  width: 100%;
  max-width: 75rem;
}




/* アニメーション*/
.modal.active .modal-content {
  animation: fadeInScale 0.4s ease forwards;
}

@keyframes fadeInScale {
  0% {
    opacity: 0;
    transform: scale(0.8);
  }

  100% {
    opacity: 1;
    transform: scale(1);
  }
}

.modal_ttl {
  font-size: 2.0rem;
  font-weight: 700;
  padding-bottom: 1rem;
  line-height: 1.4;
}

.modal_ttl span {
  display: block;
  font-size: 1.4rem;
  font-weight: 700;
  color: #38DEAB;
  margin-bottom: 0.5rem;
}

.modal_detail {
  font-size: 1.5rem;
  line-height: 1.7;
}

@media screen and (max-width:768px) {
  html {
    font-size: 2.6666666667vw !important;


  }


  #wrap{
 overflow: hidden;
}

#wrap::before {
  content: "";
  display: block;
  position: fixed;
  top: 0rem;
  left: 0rem;
  z-index: -1;
  width: 100vw;
  height: 130vh;
  background-image: url(../img/bg.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  overflow: hidden;
}



  a,
  button {
    -webkit-transition: none;
    -o-transition: none;
    transition: none;
  }

  a:hover,
  button:hover {
    -webkit-transition: none;
    -o-transition: none;
    transition: none;
    opacity: 1.0;
  }



  .pc {
    display: none;
  }

  .sp {
    display: block;
  }

  body {
    line-height: 1.8;
  }

  .inner {
    max-width: 100%;
    position: relative;
    margin: 0 auto;
    padding: 0 2rem
  }

.common_ttl_en {
  font-size: 4.1rem;
}

.common_ttl_jp {
  font-size: 1.5rem;
  margin-top: 0.3rem;
}
.common_ttl_jp::before {
    top: 0.4rem;
}
.common_lead {
  font-size: 1.5rem;
  margin-top: 3.5rem;
}

.common_btn {
  font-size: 1.6rem;
  height: 6rem;
}

.common_btn::after {
display: none;
}

.common_btn:hover::after {
display: none;
}

.common_circle_link {
  right: 1rem;
  bottom: 1rem;
  width: 2rem;
  height: 2rem;
  transition: none;
  overflow: auto;

}


.common_circle_link::after {
  display: none;

}

.open-btn:hover .common_circle_link::after {
 display: none;

}

.common_circle_link .icon_plus {
  width: 0.9rem;
  height:  0.9rem;

}

.common_circle_link .icon_plus::before,
.common_circle_link .icon_plus::after {
  top: 0.35rem;
  width: 0.9rem;
}







.modal-content {
  padding: 2.5rem;
  width: 90vw;
  max-width:100%;
}

.modal-content.modal_careers {
  width: 90vw;
 max-width:100%;
}


.modal_ttl {
  font-size: 1.8rem;
}

.modal_ttl span {
  font-size: 1.3rem;
}

.modal_detail {
  line-height: 1.7;
   font-size: 1.5rem;
}


}

/* HEADER
--------------------------------------------------- */
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  padding: 2.5rem 4rem;
 /*  background: #fff;              
  box-shadow: 0 2px 6px rgba(0,0,0,0.08); */
  transition: transform 0.32s cubic-bezier(.2,.9,.3,1), opacity 0.32s linear;
  transform: translateY(0);
  will-change: transform;
  box-sizing: border-box;
   background: transparent;
  transition: background-color 0.3s ease, transform 0.3s ease; /* ←重要 */
}

/* 隠すときは上へ移動させる */
.site-header.header--hidden {
  transform: translateY(-100%);
  pointer-events: none; /* 隠れているときは操作不可に */
  opacity: 0.95; /* optional: 少し透過させても良い */
}
.site-header.header--bg {
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(8px);
}


header .header_inner {
  width: 100%;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

header .header_inner .head_logo {
  width: 13.5rem;
}




header .header_inner .global-nav {
  display: flex;
  align-items: center;
}

header nav ul {
  display: flex;
  align-items: center;
}


header nav ul.main-nav li .nav-label {
  margin-left: 4.0rem;
  line-height: 1.4;
  font-weight: 700;
  color: #000;
  font-size: 1.5rem;
  letter-spacing: 0.05em;
}

header nav ul.main-nav li .common_btn {
  width: 13.5rem;
  height: 4rem;
  font-size: 1.5rem;
  margin-left: 3.5rem;
}


.menu-trigger {
  display: none;
}

@media screen and (max-width:768px) {

  header{
    width: 100%;
    
  }
  .site-header {
  padding: 2rem;
  box-sizing: border-box;
  
}



 



  header .header_inner .head_logo {
    width: 11rem;

  }

  header .header_inner .global-nav {
    display: block;
  }

  header nav ul {
    display: block;
  }

  header nav ul.main-nav {
    padding-right: 0;
  }

  header nav ul.sns {
    display: flex;
    margin-top: 1.5rem;
  }

 header nav ul.main-nav li .nav-label {
    margin-left: 0rem;
    margin-top: 1.5rem;
    font-size: 2.0rem;
    display: block;
}





  .global-nav-wrap {
    background: #16D188;
background: linear-gradient(135deg,rgba(22, 209, 136, 1) 0%, rgba(84, 225, 189, 1) 46%, rgba(130, 232, 33, 1) 100%);
    min-height: 100vh;
    overflow: scroll;
    padding: 4rem;
    position: fixed;
    right: -100vw;
    top: 0;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
    width: 100vw;
    z-index: 1000;

  }


  header nav ul.main-nav li .common_btn {
  width: 18rem;
  height: 4.5rem;
  font-size: 1.6rem;
  margin-left: 0rem;
  margin-top: 2.5rem;
}



  .global-nav-wrap.show {
    bottom: 0;
    right: 0;
    top: 0rem;
     position: fixed;
  }

  .menu-trigger {
    display: block;
    height: 3rem;
    position: fixed;
    right: 1.5rem;
    top: 1.5rem;
    -webkit-transition: background 0.5s ease;
    transition: background 0.5s ease;
    width: 4rem;
    z-index: 1001;


  }

  .menu-trigger .trigger-inner {
    bottom: 0;
    height: 1.0rem;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
    width: 2.5rem;

  }

  .menu-trigger .trigger-inner span {
    background-color: #000;
    height: 0.2rem;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    -webkit-transition: All 0.5s ease;
    transition: All 0.5s ease;
    width: 2.5rem;


  }

  .menu-trigger .trigger-inner span:first-child {
    top: 1px;
  }

  .menu-trigger .trigger-inner span:nth-child(2) {
    background-color: transparent;
  }

  .menu-trigger .trigger-inner span:nth-child(3) {
    bottom: 0;
  }

  .menu-trigger.active {
    background: transparent;
  }

  .menu-trigger.active:after {
    display: none;

  }

  .menu-trigger.active .trigger-inner span:first-child {
    -webkit-transform: translateY(0.4rem) rotate(45deg);
    transform: translateY(0.4rem) rotate(45deg);
    mix-blend-mode: none;
    background-color: #111;
  }

  .menu-trigger.active .trigger-inner span:nth-child(2) {
    opacity: 0;
  }

  .menu-trigger.active .trigger-inner span:nth-child(3) {
    -webkit-transform: translateY(-0.3rem) rotate(-45deg);
    transform: translateY(-0.3rem) rotate(-45deg);
    mix-blend-mode: none;
    background-color: #111;
  }

  .overlay {
    background-color: rgba(0, 0, 0, 0.8);
    bottom: 0;
    display: none;
    left: 0;
    overflow: hidden;
    -webkit-overflow-scrolling: touch;
    overflow-y: auto;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 500;
  }
}

/* KV
--------------------------------------------------- */

#kv {
  position: relative;
  width: 100%;
  min-height: 80rem;

  
}


#kv .kv_ttl{
  position: absolute;
  top: 50%;
  left: 10%;
  transform: translateY(-50%);
  z-index: 1;
  width: 87.6rem;


}
#kv .kv_ttl svg{
  width: auto;


}
#kv .common_ttl_en span img{
 height: 13.1rem;

}


#kv .kv_ttl_wrap{
  display: flex;
  width: 100%;
  flex-wrap: wrap;
}
.kv_sub_copy{
  margin-top: -2.2rem;
  font-size: 3.2rem;
  letter-spacing: 0.09em;
}


.kv_graphic{
  max-width: 180rem;
  width: 100%;
  min-width: 133rem;
    min-height: 100vh;
  height: 100vh; 

  top: 10%;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
 
 
  

}
.kv_graphic_inner{
display: block;
  position: relative;


}
.kv_graphic_item{
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
   padding: 0 3vw;
 


}



@media screen and (max-width:768px) {


  #kv {

    min-height: 65rem;

  }

#kv .kv_ttl{
  position: absolute;
  top: 52.5%;
  left: 0;
  transform: translateY(-50%);
  z-index: 1;
  width: 81%;
  padding: 0 3rem;
  
}
#kv .kv_ttl_wrap{
  display: block;
  line-height: 1.0;
}
#kv .kv_ttl_wrap .common_ttl_en:first-child{
  width: 81%;
}
#kv .kv_ttl_wrap .common_ttl_en:last-child{
  margin-top: -0.7rem;

}

.kv_sub_copy{
  margin-top: 0.5rem;
  font-size: 1.7rem;
  line-height: 1.5;
}

.kv_graphic{
  max-width: 100%;
  width: 100%;
  min-width: 100%;
    min-height:  65rem;
  height:  65rem;
  top: 8%;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

#kv .common_ttl_en span img {
    height: 7rem;
}



}

/* lead
--------------------------------------------------- */
#lead {
  position: relative;
  padding-top: 15rem;
  margin-bottom: 34rem;
}




#lead .lead_detail {
  font-size: 2.2rem;
  line-height: 2.0;
}

@media screen and (max-width:768px) {

#lead {
  position: relative;
  padding-top: 1rem;
  margin-bottom: 12rem;
}

  #lead .lead_detail {
    font-size: 1.6rem;
    line-height: 1.7;
  }

}

/* movie
--------------------------------------------------- */
#movie {
  position: relative;
  padding: 2rem 0 32rem;
}

#movie::before {
  content: "";
  background-image: url(../img/movie_graphic.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center top;
  display: block;
  position: absolute;
  top: -19rem;
  left: rem;
  z-index: -1;
  width: 92.9rem;
  height: 80.3rem;
}

#movie .movie_wrap {
  display: flex;
  justify-content: space-between;
}

#movie .movie_wrap .common_ttl_wrap {
  width: 30%;
}

#movie .movie_wrap .movie_content {
  width: 70%;
  padding-left: 5rem;
  margin-top: 1rem;
}

#movie .movie_wrap .video {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
}

#movie .movie_wrap .video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 25px;
}

@media screen and (max-width:768px) {
  #movie {
  position: relative;
  padding: 2rem 0 18rem;

}

#movie::before {
  content: "";
  background-image: url(../img/movie_graphic.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center top;
  display: block;
  position: absolute;
  top: -5rem;
  left:-2rem;
  /* right: -2rem; */
  z-index: -1;
  width: 153vw;
  height: 48rem;
}

#movie .movie_wrap {
  display: block;
}

#movie .movie_wrap .common_ttl_wrap {
  width: 100%;
}

#movie .movie_wrap .movie_content {
  width: 100%;
  padding-left: 0rem;
  margin-top:3.5rem;
}



#movie .movie_wrap .video iframe {

  border-radius: 2rem;
}
}


/* message
--------------------------------------------------- */
#message {
  padding: 0rem 0 18rem;
position: relative;
}

#message .message_wrap {
  display: flex;
  position: relative;
  align-items: flex-start;
}

#message .message_left {
  width: 56%;
  padding-left: calc((100vw - 116rem) / 2);
}

/* #message .inner{
 max-width: calc((100vw - 116rem) / 2 + 116rem);
 width: 100vw;
} */


#message .message_right {
 position: sticky;
  right: 0;
  top: 2rem;
  width: 60rem;
  z-index: 1;
}

#message .message_right img {
  max-width: 60rem;
  object-fit: cover;
  min-height: 50rem;
  object-position: left top;
}


.message_lead {
  font-size: 3.4rem;
  font-weight: 700;
  line-height: 1.4;
  margin-top: 7rem;
}

.message_detail {
  font-size: 1.8rem;
  margin-top: 3.5rem;
}

.message_position {
  font-size: 1.3rem;
  margin-top: 5rem;
  line-height: 1.4;
}

.message_name {
  font-size: 1.8rem;
  margin-top: 0.8rem;
  line-height: 1.4;
}

@media screen and (max-width:768px) {
  #message {
  padding: 2rem 0 14rem;

}

#message .message_wrap {

  display: block;
}

#message .message_left {
  width: 100%;
 padding:  0 2rem;
}

/* #message .inner{
 max-width: calc((100vw - 116rem) / 2 + 116rem);
 width: 100vw;
} */


#message .message_right {
  position: relative;
  left: auto;
  right: auto;
  top: auto;
  width:100%;
  padding:  0 2rem;
}

#message .message_right img {
  max-width: 100%;
  min-height: 100%;
  object-position: left top;
}


.message_lead {
  font-size: 2.1rem;
  margin-top: 5rem;
}

.message_detail {
  font-size: 1.6rem;
  margin-top: 2.5rem;
}

.message_position {
  font-size: 1.2rem;
  margin-top: 4rem;
}

.message_name {
  font-size: 1.6rem;
}
}

/* business
--------------------------------------------------- */
#business {
  position: relative;
  padding: 0 0 20rem;
}

#business .business_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 4.5rem;

}

#business .business_item {
  width: 31.5%;
  background: rgba(255, 255, 255, 0.8);
  border-radius: 2rem;
  text-align: center;
  padding: 4rem 2rem 6rem;
  position: relative;
}

#business .business_name_en {
  font-size: 3.0rem;
  font-weight: 700;
  line-height: 1.0;
}

#business .business_name_jp {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.0;
}

#business .business_name_jp::before {
  content: "";
  display: block;
  width: 4rem;
  background-color: #38DEAB;
  height: 0.3rem;
  margin: 1.6rem auto 1.8rem;
}

#business .business_img {
  margin-top: 3.2rem;

}

#business .business_img img {
  border-radius: 2rem;

}


#business .business_item .common_circle_link {
  right: 2rem;
  bottom: 2rem;
}



@media screen and (max-width:768px) {
  #business {
  position: relative;
  padding: 2rem 0 16rem;
}

#business .business_list {
  display: block;
  margin-top: 3.5rem;

}

#business .business_item {
  width: 100%;
  border-radius: 2rem;
  padding: 4rem 2rem 6rem;
  margin-top: 1.5rem;
}

#business .business_name_en {
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.0;
}

#business .business_name_jp {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.0;
}

#business .business_name_jp::before {
  content: "";
  display: block;
  width: 4rem;
  background-color: #38DEAB;
  height: 0.3rem;
  margin: 1.6rem auto 1.8rem;
}

#business .business_img {
  margin-top: 2.5rem;

}

#business .business_img img{
  object-fit: cover;
  height: 15rem;

}



}



/* careers
--------------------------------------------------- */
#careers {
  position: relative;
  padding: 0rem 0 18rem;
}

#careers::before {
  content: "";
  background-image: url(../img/careers_graphic.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center top;
  display: block;
  position: absolute;
  top: -11rem;
  right: 0rem;
  z-index: -1;
  width: 90.3rem;
  height: 94rem;
}



#careers .common_ttl_wrap {
  display: flex;
  justify-content: space-between;
}

#careers .careers_ttl_right {
  font-size: 1.8rem;
  line-height: 1.8;
  margin-top: 1rem;
}

#careers .careers_point_list {
  margin-top: 7.5rem;
  font-weight: 700;
  font-size: 1.8rem;
  position: relative;
}




#careers .careers_point_item {
  padding-left: 3rem;
  position: relative;
  margin-bottom: 2rem;
  line-height: 1.6;
}

#careers .careers_point_item::before {
  content: "";
  background-image: url(../img/icon_check.svg);
  background-size: contain;
  background-repeat: no-repeat;
  width: 2.1rem;
  height: 1.5rem;
  position: absolute;
  left: 0;
  top: 0.7rem;
}

#careers .careers_job_list {
  margin-top: 6rem;
}

#careers .careers_job_item {
  background: rgba(255, 255, 255, 0.8);
  border-radius: 2rem;
  padding: 1rem;
  margin-top: 2rem;
  position: relative;
  display: flex;
  align-items: center;
  position: relative;
}

#careers .careers_job_item .common_circle_link {
  right: 1.5rem;
  bottom: 1.5rem;
}




#careers .careers_job_img {
  width: 36%;
  margin: 3rem;
}

#careers .careers_job_txt {
  width: 64%;
  padding-left: 2.5rem;
}

#careers .careers_job_img img {
  border-radius: 2rem;
}

#careers .careers_job_name {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.6;
}

#careers .careers_job_name_en {
  font-size: 1.6rem;
  font-weight: 700;
  color: #38DEAB;
}

#careers .careers_step {
  margin-top: 10rem;

}

#careers .careers_step_ttl {
  position: relative;
  line-height: 1.0;
  font-weight: 700;
  font-size: 4rem;
  padding-left: 3rem;
  z-index: 1;


}

#careers .careers_step_ttl::before {
  content: "";
  background-color: #13D697;
  width: 2rem;
  height: 2rem;
  border-radius: 2rem;
  position: absolute;
  left: 0;
  top: 1.2rem;
}

#careers .careers_step_ttl_sub {
  margin-left: 3rem;
  margin-top: 1.3rem;


}

#careers .careers_step_ttl_sub span {

  font-size: 2.4rem;
  border: 2px solid #13D697;
  padding: 0.4rem 1.5rem;
  border-radius: 5px;
  font-weight: 700;


}

#careers .careers_step_chart {
  margin: -7.5rem auto 0;
  max-width: 96rem;


}



@media screen and (max-width:768px) {
 #careers {
  position: relative;
  padding: 2rem 0 10rem;
}

#careers::before {
  content: "";
  background-image: url(../img/careers_graphic.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center top;
  display: block;
  position: absolute;
  top: -6rem;
  right: -40vw;
  z-index: -1;
  width: 130vw;
  height: 50rem;
}



#careers .common_ttl_wrap {
  display: block;
}

#careers .careers_ttl_right {
  font-size: 1.5rem;
  line-height: 1.8;
  margin-top: 4rem;
}

#careers .careers_point_list {
  margin-top:4rem;
  font-size: 1.6rem;
}




#careers .careers_point_item {

  margin-bottom: 1.5rem;
  line-height: 1.5;
}


#careers .careers_job_list {
  margin-top:4rem;
}

#careers .careers_job_item {
  border-radius: 2rem;
  padding: 0rem;
  margin-top: 1rem;
}

#careers .careers_job_item .common_circle_link {
  right: 1rem;
  bottom: 1rem;
}




#careers .careers_job_img {
  width: 14rem;
  padding: 1.5rem 0 1.5rem 1.5rem;
  margin: 0;
}
#careers .careers_job_img img{
 object-fit: cover;
 width: 14rem;
 height: 9rem;
}

#careers .careers_job_txt {
  width: calc(100% - 14rem);
  padding-left: 1.5rem;
}

#careers .careers_job_img img {
  border-radius: 12px;
}

#careers .careers_job_name {
  font-size: 1.5rem;
  line-height: 1.4;
  letter-spacing: 0;
}

#careers .careers_job_name_en {
  font-size: 1.2rem;
margin-top: 0.4rem;
  line-height: 1.2;
}

#careers .careers_step {
  margin-top: 6rem;

}

#careers .careers_step_ttl {
  font-size:2.2rem;
  padding-left: 2rem;
  z-index: 1;


}

#careers .careers_step_ttl::before {
  width: 1.4rem;
  height: 1.4rem;
  top: 0.5rem;
}

#careers .careers_step_ttl_sub {
  margin-left: 2rem;
  margin-top: 1rem;


}

#careers .careers_step_ttl_sub span {

  font-size: 1.8rem;
  padding: 0.3rem 1.2rem;


}

#careers .careers_step_chart {
  margin: 2.5rem auto 0;
  max-width: 100%;


}
}



/* culture
--------------------------------------------------- */
#culture {
  position: relative;
  padding: 0 0 18rem;
}

.culture_tab_list {
  display: flex;
}

.culture_tab_item a {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.5rem;
  font-weight: 700;
  border: 1px solid #000;
  border-radius: 10rem;
  padding: 0.4rem 2rem;
  margin-top: 5rem;
  transition: 0.3s ease-in-out;
}

.culture_tab_list a.active {
  color: #fff;
  background-color: #000;
}

.culture_tab_list a:hover {
  color: #fff;
  background-color: #000;
}

.culture_tab_item {
  margin-right: 0.6rem;
}

.culture_list {
  margin-top: 2rem;
  display: flex;
  flex-wrap: wrap;
}


.culture_item {
  width: 23.875%;
  background: rgba(255, 255, 255, 0.8);
  border-radius: 2rem;
  margin-right: 1.5%;
  margin-top: 1.5%;
  position: relative;
  padding-bottom: 4rem;
  display: block;
  transition: opacity .25s ease;
}

.culture_item.hidden {
  display: none;
  opacity: 0;
}

.culture_item:nth-child(4n) {
  margin-right: 0;
}

.culture_icon {
  max-width: 10rem;
  margin: 0 auto;
  padding-top: 3.5rem;


}

.culture_name {
  margin-top: 1rem;
  text-align: center;
  font-size: 1.8rem;
  line-height: 1.35;
  min-height: 5rem;
  display: flex;
  align-items: center;
  justify-content: center;

}
@media screen and (max-width:768px) {
  #culture {
  position: relative;
  padding: 2rem 0 14rem;
}

.culture_tab_list {
  margin: 0 calc(50% - 50vw) ;
width: 100vw;
  display: flex;
   overflow-x: auto;
      white-space: nowrap;
      -webkit-overflow-scrolling: touch;
      padding-bottom: 1rem;
      padding-left: 2rem;
  
}

.culture_tab_item a {
  font-size: 1.3rem;
  padding: 0.3rem 1.6rem;
  margin-top: 4rem;
  transition: none;
}

.culture_tab_list a.active {
  color: #fff!important;
  background-color: #000!important;
}

.culture_tab_list a:hover {
  color: #000;
background-color: transparent;
}

.culture_tab_item {
  margin-right: 0.6rem;
}

.culture_list {
  margin-top: 0rem;
}


.culture_item {
  width: 48%;
  background: rgba(255, 255, 255, 0.8);
  border-radius: 2rem;
  margin-right: 4%;
  margin-top: 4%;
  position: relative;
  padding-bottom: 3.4rem;
  display: block;
  transition: opacity .25s ease;
}



.culture_item:nth-child(2n) {
  margin-right: 0;
}

.culture_icon {
  max-width: 6rem;
  padding-top: 2rem;


}

.culture_name {
  margin-top: 0.5rem;
  text-align: center;
  font-size: 1.35rem;
  letter-spacing: 0;
  line-height: 1.35;
  min-height: 4rem;

}
}

/* stories
--------------------------------------------------- */
#stories {
  padding: 0rem 0 16rem;
}

.stories_ttl_wrap {
  display: flex;
  justify-content: space-between;
}

.stories_sns_link_list {
  display: flex;
  align-items: center;
  margin-top: 2rem;
}

.stories_sns_link_item .common_btn {
  height: 4.5rem;
  font-size: 1.5rem;
  width: 20rem;
}

.stories_sns_link_item:first-child {
  max-width: 20rem;
  width: 100%;
  margin-right: 1rem;
}

.stories_sns_link_item {
  margin-left: 0.6rem;
}

.stories_sns_link_item:nth-child(2) span,
.stories_sns_link_item:nth-child(3) span {
  background-color: #000;
  width: 4.5rem;
  height: 4.5rem;
  display: flex;
  align-self: center;
  justify-content: center;
  border-radius: 45px;
}

.stories_sns_link_item:nth-child(2) img {
  width: 1.8rem;
}

.stories_sns_link_item:nth-child(3) img {
  width: 2.1rem;
}

.stories_note_wrap{

    padding-left: calc((100vw - 116rem) / 2);
  

}


.stories_note_list{
display: flex;
     overflow-x: scroll;
     margin-top: 4rem;

}

.stories_note_item{
 flex-shrink: 0;
 width: 56rem;
 padding-bottom: 3rem;
 margin-right: 3rem;

}
.stories_note_thumb img{
border-radius: 15px;

}
.stories_note_txt{
font-size: 1.8rem;
margin-top: 2rem;

}

@media screen and (max-width:768px) {
  #stories {
  padding: 0rem 0 12rem;
}

.stories_ttl_wrap {
  display: block;
}

.stories_sns_link_list {
  margin-top: 1.5rem;
  justify-content: flex-start;
}

.stories_sns_link_item .common_btn {
  height: 4.5rem;
  font-size: 1.4rem;
  width: 19rem;
}

.stories_sns_link_item:first-child {
  max-width: 19rem;
  width: 19rem;
  margin-right: 1rem;
}

.stories_sns_link_item {
  margin-left: 0.6rem;
}

.stories_sns_link_item:nth-child(2) span,
.stories_sns_link_item:nth-child(3) span {
  width: 4.5rem;
  height: 4.5rem;
  border-radius: 4.5rem;
}

.stories_sns_link_item:nth-child(2) img {
  width: 1.8rem;
}

.stories_sns_link_item:nth-child(3) img {
  width: 2.1rem;
}

.stories_note_wrap{
 padding-left: calc((100vw - 37.1rem) / 2);
    padding-left: 2rem
  

}


.stories_note_list{
     margin-top: 3rem;

}

.stories_note_item{
 width: 26rem;
 padding-bottom: 1rem;
 margin-right: 1.5rem;

}
.stories_note_thumb img{
border-radius: 10px;

}
.stories_note_txt{
font-size: 1.5rem;
line-height: 1.5;
margin-top: 1.5rem;

}


}


/* information
--------------------------------------------------- */
#information .information_list {
  background: rgba(255, 255, 255, 0.8);
  padding: 1rem 5rem 5rem;
  border-radius: 2rem;
  margin-top: 5rem;
}

#information .information_item {
  display: flex;
  padding-top: 4rem;
  font-size: 1.5rem;
}

#information .information_item .information_ttl {
  width: 12%;
  font-weight: 700;
}

#information .information_item .information_detail {
  width: 88%;
  border-left: 1px solid #ccc;
  padding-left: 4rem;
}

@media screen and (max-width:768px) {
  #information .information_list {
  padding: 0rem 25px 4rem;
  border-radius: 2rem;
  margin-top: 4rem;
}

#information .information_item {
  display: block;
  padding-top: 3rem;
  font-size: 1.5rem;
}

#information .information_item .information_ttl {
  width: 100%;
}

#information .information_item .information_detail {
  width: 100%;
  border-left: none;
  border-top: 1px solid #ccc;
  padding-left: 0rem;
  padding-top: 8px;
  margin-top: 5px;
  font-size: 1.4rem;
  line-height: 1.7;
}
}



/* bottom_cta
--------------------------------------------------- */
#bottom_cta {
  position: relative;
  padding: 16rem 0 15rem;
}

#bottom_cta::before {
  content: "";
  background-image: url(../img/bottom_cta_graphic.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center top;
  display: block;
  position: absolute;
  bottom: 0;
  left: 0rem;
  z-index: -1;
  width: 100%;
  height: 51.3rem;
}



#bottom_cta .bottom_cta_ttl {
  margin: 0 auto;
  text-align: left;
  max-width: 50rem;
  padding-bottom: 4rem;

}

#bottom_cta .bottom_cta_ttl .kv_sub_copy{
 font-size: 1.9rem;
 margin-top: -1rem;
 font-weight: 500;

}




#bottom_cta .bottom_cta_btn_list {
  display: flex;
  justify-content: center;
}

#bottom_cta .bottom_cta_btn_item {
  max-width: 40rem;
  width: 100%;
  margin: 0 1rem;
}

@media screen and (max-width:768px) {
  #bottom_cta {
  position: relative;
  padding: 8rem 0 6rem;
}

#bottom_cta::before {
  z-index: -1;
  width: 140vw;
  height: 32rem;
  left: -20vw;
}



#bottom_cta .bottom_cta_ttl {
  max-width:90%;
  padding-bottom: 1.5rem;

}



#bottom_cta .bottom_cta_btn_list {
  display: block;
}

#bottom_cta .bottom_cta_btn_item {
  max-width: 100%;
  width: 100%;
  margin: 1rem 0;
}

#bottom_cta .bottom_cta_ttl .kv_sub_copy{
 font-size: 1.5rem;
 margin-top: 0.2rem;

}


}


/* footer
--------------------------------------------------- */

footer {
  position: relative;
  padding: 6rem 0 4rem;
  background-color: #464646;
  color: #fff;
}

footer .footer_wrap {
  display: flex;
  justify-content: space-between;
}


footer .footer_left {}

footer .footer_right {}

.footer_left_logo {
  max-width: 135px;
}

.footer_company_name {
  font-size: 1.5rem;
  font-weight: 700;
  margin-top: 2.5rem;
}

.foonter_company_address {
  font-size: 1.3rem;
  line-height: 1.4;
  margin-top: 1.3rem;
}

.foonter_company_tel {
  font-size: 1.3rem;
  line-height: 1.4;
  margin-top: 1.3rem;
}

.footer_link_list_wrap {
  display: flex;
  flex-wrap: wrap;
  margin-top: 0.5rem;

  justify-content: flex-end;
}

.footer_link_list {
  margin-left: 5rem;
}





.footer_link_item {
  line-height: 1.0;
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 2rem;
  box-sizing: border-box;

}

.footer_link_item a {
  color: #fff;

}

.footer_bottom_sns_list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 1rem;

  justify-content: flex-end;
}

.footer_bottom_sns_item a {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: 2rem;
}

.cr {
  font-size: 1.2rem;
  text-align: right;
  margin-top: 1.8rem;
}

#page_top {
    position: fixed;
    right: 2rem;
    bottom: 2rem;
    z-index: 100;
}

#page_top a{
position: relative;
text-decoration: none;
padding-top: 0.5rem;
display: block;
 width: 4.0rem;
    height: 4.0rem;
    border-radius: 500px;
    background: #000;
          display: flex;
justify-content: center;
align-items: center;
}



#page_top a span::after {
content: '';
display: block;
width: 1.0rem; 
height: 1.0rem; 
border-top: 0.2rem solid #fff; /* 矢印の太さの指定 */
border-left: 0.2rem solid #fff; /* 矢印の太さの指定 */
transform: rotate(45deg);
}


@media screen and (max-width:768px) {

footer {
  padding: 6rem 0 3rem;
}

footer .footer_wrap {
  display: block;
}


.footer_company_name {
  font-size: 1.4rem;
}


.foonter_company_address,
.foonter_company_tel {
    margin-top: 0.6rem;
}

.footer_link_list_wrap {
  margin-top: 4rem;

  justify-content: space-between;
}

.footer_link_list {
  margin-left: 0rem;
  width: 50%;
}





.footer_link_item {
  font-size: 1.6rem;
  margin-bottom: 1.6rem;
  width: 100%;

}



.footer_bottom_sns_list {
  margin-top:2.5rem;

  justify-content: flex-start;
}

.footer_bottom_sns_item a {
  margin-left: 0rem;
  margin-right: 2rem;
}

.cr {
  font-size: 1.1rem;
  text-align: right;
  margin-top: 2rem;
}
}


/* ANIMETION
--------------------------------------------------- */


.fadein {
  -webkit-transition: .7s;
  -o-transition: .7s;
  transition: 7.s !important;
  opacity: 0;
  -ms-transform: translate(0, 4rem);
  transform: translate(0, 4rem);
  -webkit-transform: translate(0, 4rem);
}

.fadein_af {
  opacity: 1.0;
  -ms-transform: translate(0, 0);
  transform: translate(0, 0);
  -webkit-transform: translate(0, 0);
}

.fadein_kv {

   display: none;        /* 初期は見えない */
  transform: scale(0); /* 小さくしておく */
}
.fadein_kv.show  {
  animation: kv_animation 2s cubic-bezier(0.19, 1, 0.22, 1) forwards;
  display: block;
}

@keyframes kv_animation {
  0% {
    transform: scale(0.0);
 display: none;    
  }
   100% {
    transform: scale(1.0);
    opacity: 1.0;
    display: block;

  }

  
}


.del_01 {
  animation-delay: 0.20s !important;
}

.del_02 {
  animation-delay: 0.26s !important;
}
.del_03 {
  animation-delay: 0.32s !important;
}
.del_04 {
 animation-delay: 0.38s !important;
}
.del_05 {
  animation-delay: 0.26s !important;
}




@media only screen and (max-width: 768px) {
  .del_01 {
    -webkit-transition-delay: 0s !important;
    -o-transition-delay: 0s !important;
    transition-delay: 0s !important;
  }

  .del_02 {
    -webkit-transition-delay: 0s !important;
    -o-transition-delay: 0s !important;
    transition-delay: 0s !important;
  }

  .del_03 {
    -webkit-transition-delay: 0s !important;
    -o-transition-delay: 0s !important;
    transition-delay: 0s !important;
  }
}

/* top animation
--------------------------------------------------- */
.top-op {
  position: fixed;
  top: 0;
  left: 0;
  margin: 0 auto;
  width: 100vw;
  height: 100vw;
}


.top-op {
  z-index: 9998;
background: #16D188;
background: linear-gradient(90deg,rgba(22, 209, 136, 1) 0%, rgba(84, 225, 189, 1) 46%, rgba(130, 232, 33, 1) 100%);
  animation-duration: 0.8s;
  animation-delay: 0.2s;
  animation-fill-mode: forwards;
  animation-name: top-op;
   position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);

}


@keyframes top-op {
  0% {
    width: 100vw;
    height: 100vw;
    border-radius: 1000rem;
  }

  50% {
    width: 50rem;
    height: 50rem;
     border-radius: 1000rem;
  }

  100% {
     width: 0%;
     height: 0;
      border-radius: 1000rem;
   
  }
}


@media screen and (max-width:768px) {
  .top-op {
  width: 80vh;
  height: 80vh;
   border-radius: 1000rem;
}



@keyframes top-op {
  0% {
    width: 80vh;
  height: 80vh;
    border-radius: 1000rem;
  }

  50% {
    width: 30rem;
    height: 30rem;
     border-radius: 1000rem;
  }

  100% {
     width: 0%;
     height: 0;
      border-radius: 1000rem;
   
  }
}

}








#mask path {
  fill: none;
  stroke: #fff;
  stroke-width: 200;
  stroke-dasharray: 5000px;
  stroke-dashoffset: 5000px;
  animation: line 9s ease-in-out infinite;
  animation-delay: 1.8s;
}

@keyframes line {
  0% {
    stroke-dashoffset: 5000px;
  }
 50% {
    stroke-dashoffset: 0;
  }
 100% {
    stroke-dashoffset: 5000px;
  }

}

#text {
  mask: url(#mask-wrapper);

}

.kv_graphic_border{
  z-index: -1;
}
.st0{fill:url(#SVGID_1_);}
	.st1{fill:#82E821;}
	.st2{fill:url(#SVGID_00000180367354709539534000000009624031906224484521_);}
	.st3{fill:#A7E738;}
	.st4{fill:url(#SVGID_00000163782221346590027000000012802169086835838860_);}
	.st5{fill:url(#SVGID_00000000222969686651115000000008039644689952541587_);}
	.st6{fill:url(#SVGID_00000034060322203759819660000009425082015728213676_);}
	.st7{fill:url(#SVGID_00000129205134163482785800000002524205068056645530_);}
	.st8{fill:url(#SVGID_00000144332486793857148770000006346105491240505771_);}
	.st9{fill:url(#SVGID_00000010303221330387216530000011003400374975023506_);}
	.st10{fill:url(#SVGID_00000175287890371184061900000016812279521173391281_);}
	.st11{fill:url(#SVGID_00000003103662396615017570000014220015989804468389_);}
	.st12{fill:url(#SVGID_00000133499009169560813000000005584720965114946218_);}
	.st13{fill:url(#SVGID_00000157994096495283338100000007523718992853493911_);}
	.st14{clip-path:url(#SVGID_00000165938669366991245850000000098576684050890659_);}
	.st15{fill:url(#SVGID_00000128453861634008753240000001328106115591811510_);}
	.st16{clip-path:url(#SVGID_00000149363812403636338760000009145088970843160200_);}
	.st17{fill:url(#SVGID_00000155841061842036888460000017280931658722275255_);}
	.st18{clip-path:url(#SVGID_00000072246663023653321460000009146540424791190423_);}
	.st19{fill:url(#SVGID_00000142156324755687393840000016002227099613176482_);}
	.st20{clip-path:url(#SVGID_00000049214293513368386460000004853972037244039838_);}
	.st21{fill:url(#SVGID_00000021114126234623872230000013863068635476820866_);}
	.st22{clip-path:url(#SVGID_00000132766850464964018680000012381048078253093301_);}
	.st23{fill:url(#SVGID_00000101063226760724083540000000829870316935113656_);}
	.st24{clip-path:url(#SVGID_00000056418146763173175200000012191996477774615462_);}
	.st25{fill:url(#SVGID_00000103964117948128691870000014677096161731960728_);}
	.st26{clip-path:url(#SVGID_00000147184201294068515580000006190386180082846122_);}
	.st27{fill:url(#SVGID_00000029018426753018405820000001577396487727037073_);}
	.st28{clip-path:url(#SVGID_00000090289427506593502430000006372844568564446595_);}
	.st29{fill:url(#SVGID_00000136385705537492162310000007760336747966786234_);}
	.st30{clip-path:url(#SVGID_00000062880827643118697770000013158331151715219076_);}
	.st31{fill:url(#SVGID_00000056406256022727102230000017083581953242808506_);}
	.st32{clip-path:url(#SVGID_00000168835086484559983990000013696124230041735089_);}
	.st33{fill:url(#SVGID_00000070100390552959389910000018156843735951731341_);}
	.st34{clip-path:url(#SVGID_00000178891427885262583230000007991991479530515130_);}
	.st35{fill:url(#SVGID_00000093139983173999548760000016491874329688596890_);}
	.st36{clip-path:url(#SVGID_00000123406278008148024640000001265627756339197347_);}
	.st37{fill:url(#SVGID_00000053505199471908389760000010719187505976666265_);}
	.st38{clip-path:url(#SVGID_00000175308702102589146990000000783285325964607401_);}
	.st39{fill:url(#SVGID_00000082368887432801301850000010891721744198901924_);}
	.st40{clip-path:url(#SVGID_00000065051961224131403250000004552337636931187107_);}
	.st41{fill:url(#SVGID_00000010292843612086994080000008889046400750851463_);}
	.st42{clip-path:url(#SVGID_00000037667320693305488610000016820424916326388157_);}
	.st43{fill:url(#SVGID_00000013171542087635115930000006141417931454144935_);}
	.st44{clip-path:url(#SVGID_00000103943973397742109830000013467240319746334649_);}
	.st45{fill:url(#SVGID_00000027592353039271420920000018440928934967623867_);}
	.st46{clip-path:url(#SVGID_00000085952787779804511290000009145137973540171155_);}
	.st47{fill:url(#SVGID_00000018237354291845990580000006920687443126684843_);}
	.st48{clip-path:url(#SVGID_00000085957344791800446660000005692171406918042550_);}
	.st49{fill:url(#SVGID_00000050639901149450279910000018164648568989148588_);}
	.st50{clip-path:url(#SVGID_00000003797108039630168660000007462267351732667807_);}
	.st51{fill:url(#SVGID_00000101073795778928065550000016090193527895950761_);}
	.st52{clip-path:url(#SVGID_00000129186614438848618970000009868593190016777139_);}
	.st53{fill:url(#SVGID_00000171717939000379877190000003030647636278512796_);}
	.st54{clip-path:url(#SVGID_00000147923240001723510830000001940356030229291161_);}
	.st55{fill:url(#SVGID_00000032637806652911109700000014281711589980706992_);}
	.st56{clip-path:url(#SVGID_00000016069496747844038020000017985111272330126757_);}
	.st57{fill:url(#SVGID_00000001657581747207098490000012113761696658753668_);}
	.st58{fill:url(#SVGID_00000148650497267911634400000014299246457953902985_);}
	.st59{fill:none;}
	.st60{clip-path:url(#SVGID_00000008859149112365905300000008321660605299365529_);}
	.st61{fill:url(#SVGID_00000102522579125906589710000004346360639968521864_);}
	.st62{fill:url(#SVGID_00000043425923802200964800000003867105776542656165_);}
	.st63{clip-path:url(#SVGID_00000035521094618615289500000004045942180534501025_);}
	.st64{fill:url(#SVGID_00000044858457249544110730000011161167281040631447_);}
	.st65{fill:#16D188;}
	.st66{fill:#54E1BD;}
	.st67{clip-path:url(#SVGID_00000091014898005998930900000008107757799319145613_);}
	.st68{fill:url(#SVGID_00000064351345685360959180000007886368430169975994_);}
	.st69{clip-path:url(#SVGID_00000001658179612402434180000006507929707681780136_);}
	.st70{fill:url(#SVGID_00000137835934492960694060000000512473883478877874_);}
	.st71{clip-path:url(#SVGID_00000043419126102102816320000004080947455863935109_);}
	.st72{fill:url(#SVGID_00000031927913159547150340000013221962505815524014_);}
	.st73{clip-path:url(#SVGID_00000102519053070594305510000003005522182906259857_);}
	.st74{fill:url(#SVGID_00000113350726706642768290000011006411025410936203_);}
	.st75{clip-path:url(#SVGID_00000061454033083218799640000016623214250630098585_);}
	.st76{fill:url(#SVGID_00000152962719191884920180000003593988848160286604_);}
	.st77{clip-path:url(#SVGID_00000182529209534857864470000014609070362364416447_);}
	.st78{fill:url(#SVGID_00000135660728820865712370000006632283561800259462_);}
	.st79{fill:none;stroke:#231F20;stroke-width:200;stroke-miterlimit:10;}










@media screen and (max-width:768px) {

  #mask_sp path {
  fill: none;
  stroke: #fff;
  stroke-width: 180;
  stroke-dasharray: 5000px;
  stroke-dashoffset: 5000px;
  animation: line_sp 8s ease-in-out infinite;
  animation-delay: 2.0s;
}

@keyframes line_sp {
  0% {
    stroke-dashoffset: 5000px;
  }
 50% {
    stroke-dashoffset: 0;
  }
 100% {
    stroke-dashoffset: 5000px;
  }

}

#text_sp {
  mask: url(#mask_sp-wrapper);

}



  .st0{opacity:0.6;}
	.st1{clip-path:url(#SVGID_00000005987766313483007170000013167596421082291623_);}
	.st2{opacity:0.72;}
	.st3{fill:url(#SVGID_00000078007458177540863070000001877334725462996394_);}
	.st4{fill:url(#SVGID_00000030487186556657584600000002650959147115678381_);}
	.st5{fill:#82E821;}
	.st6{fill:url(#SVGID_00000096023828597588023470000001703667655471826352_);}
	.st7{fill:#A7E738;}
	.st8{fill:url(#SVGID_00000183966546799150102710000013762504585222965694_);}
	.st9{fill:url(#SVGID_00000173861563783963231540000017138794798028349318_);}
	.st10{fill:url(#SVGID_00000132766139303560500670000002714189395483713164_);}
	.st11{fill:url(#SVGID_00000001664401375716797690000014024767271830568084_);}
	.st12{fill:url(#SVGID_00000065040778543684507780000004702155516161282433_);}
	.st13{fill:url(#SVGID_00000169543593212756468470000016148820173380157312_);}
	.st14{fill:url(#SVGID_00000075154185359741590190000010944594763397367973_);}
	.st15{fill:url(#SVGID_00000019665020653141436950000005090651918370342047_);}
	.st16{fill:url(#SVGID_00000081643657643756840940000002662719677510294972_);}
	.st17{fill:url(#SVGID_00000081649410158031526080000009047398404324559245_);}
	.st18{clip-path:url(#SVGID_00000019657462623863052290000006577376771714689201_);}
	.st19{fill:url(#SVGID_00000175321250669055295810000018191103264133361330_);}
	.st20{clip-path:url(#SVGID_00000124160371018728257390000012269208475691438767_);}
	.st21{fill:url(#SVGID_00000036233134802912357870000016075158277276785078_);}
	.st22{clip-path:url(#SVGID_00000083078433197939811900000010672610186869829535_);}
	.st23{fill:url(#SVGID_00000088812193860924750900000009712846936816122301_);}
	.st24{clip-path:url(#SVGID_00000067205070184131492950000002040863354974002869_);}
	.st25{fill:url(#SVGID_00000155845753006586784610000001501935187419507883_);}
	.st26{clip-path:url(#SVGID_00000053511047227768441640000016441909652260756925_);}
	.st27{fill:url(#SVGID_00000158716494990131054450000016750013532755126947_);}
	.st28{clip-path:url(#SVGID_00000019664876725799306360000015494913860231139493_);}
	.st29{fill:url(#SVGID_00000040538082144104950480000011373426383302624906_);}
	.st30{clip-path:url(#SVGID_00000083050249331782858860000004925661621656723352_);}
	.st31{fill:url(#SVGID_00000052087452327127133980000011415463165912119187_);}
	.st32{clip-path:url(#SVGID_00000052072203053934262920000001191058610746454689_);}
	.st33{fill:url(#SVGID_00000071551056916215278990000006905443488301752964_);}
	.st34{clip-path:url(#SVGID_00000044894401266106926630000015467414348401207471_);}
	.st35{fill:url(#SVGID_00000099661546933479198640000006048530959094178731_);}
	.st36{clip-path:url(#SVGID_00000028288642216590027260000001045741863124029317_);}
	.st37{fill:url(#SVGID_00000160182948968338083250000007638401447422770323_);}
	.st38{clip-path:url(#SVGID_00000103986689304350748440000004505043413684973195_);}
	.st39{fill:url(#SVGID_00000109751934452043832390000016288287479435684775_);}
	.st40{clip-path:url(#SVGID_00000173119823722873736370000011220051592654361736_);}
	.st41{fill:url(#SVGID_00000093165769790737377690000000467670169125386648_);}
	.st42{clip-path:url(#SVGID_00000176729300709407985650000007520415063451856286_);}
	.st43{fill:url(#SVGID_00000065040750613036623200000010014496571878684849_);}
	.st44{clip-path:url(#SVGID_00000098924827385694792880000011901486833244396706_);}
	.st45{fill:url(#SVGID_00000006698967840823817420000008702451615603683218_);}
	.st46{clip-path:url(#SVGID_00000171715376451877906750000012856987801173138071_);}
	.st47{fill:url(#SVGID_00000116927596236148946400000008944245342508658854_);}
	.st48{clip-path:url(#SVGID_00000056392088958398579440000003912386931736817307_);}
	.st49{fill:url(#SVGID_00000096040217528325553440000012287896390863918728_);}
	.st50{clip-path:url(#SVGID_00000084497320440868204890000013118795253937050766_);}
	.st51{fill:url(#SVGID_00000149340830338506171250000018302349858466170284_);}
	.st52{clip-path:url(#SVGID_00000158745120394709572100000018293377576629215901_);}
	.st53{fill:url(#SVGID_00000049907565396326183810000017333665022203365529_);}
	.st54{clip-path:url(#SVGID_00000025430931220631366320000014429035899041285266_);}
	.st55{fill:url(#SVGID_00000183208338925364249540000001551779588759920522_);}
	.st56{clip-path:url(#SVGID_00000015320066917350183880000000820155723317473159_);}
	.st57{fill:url(#SVGID_00000091694401526622191180000015433754851700351622_);}
	.st58{fill:none;}
	.st59{fill:#16D188;}
	.st60{fill:#54E1BD;}
	.st61{clip-path:url(#SVGID_00000128462745904692439280000000851964175677430923_);}
	.st62{fill:url(#SVGID_00000059988816834455646220000008351576059667835313_);}
	.st63{fill:#FF0000;}
	.st64{fill:url(#SVGID_00000142147373087587938960000013126073465076151701_);}
	.st65{fill:url(#SVGID_00000084512785838539068680000016884986518053437853_);}
	.st66{fill:url(#SVGID_00000161619480924827794660000008557413041806893729_);}
	.st67{fill:url(#SVGID_00000011014391338078629500000007658563140493577371_);}
	.st68{fill:url(#SVGID_00000040569199192595463580000003274478008553526441_);}
	.st69{fill:url(#SVGID_00000032608888509250375450000016177846437126080159_);}
	.st70{fill:url(#SVGID_00000061465319140840361880000016892897755117497503_);}
	.st71{fill:url(#SVGID_00000058566808208854535830000007734996119937743513_);}
	.st72{fill:url(#SVGID_00000138543048790243536700000001211582238160851356_);}
	.st73{fill:url(#SVGID_00000061443060987724682380000004703715104782938518_);}
	.st74{fill:url(#SVGID_00000170255365980305198910000011214142890662428073_);}
	.st75{fill:url(#SVGID_00000119083074018015323150000007126752217518307220_);}
	.st76{clip-path:url(#SVGID_00000083075093362862504230000006575738526282378381_);}
	.st77{fill:url(#SVGID_00000173127104595035979640000000671462602477069975_);}
	.st78{clip-path:url(#SVGID_00000150824846241658398100000008482251081107754122_);}
	.st79{fill:url(#SVGID_00000119080169152349388010000011656796001034707328_);}
	.st80{clip-path:url(#SVGID_00000165216930748056494420000006192248701055449016_);}
	.st81{fill:url(#SVGID_00000147942819170052359760000003903299458798458801_);}
	.st82{clip-path:url(#SVGID_00000120527253937765611100000016434124458372946838_);}
	.st83{fill:url(#SVGID_00000029731513327653484980000003903097518228404159_);}
	.st84{clip-path:url(#SVGID_00000040570121390103282440000001143914624498482870_);}
	.st85{fill:url(#SVGID_00000025427144281985041910000014373282632415857333_);}
	.st86{clip-path:url(#SVGID_00000042017219495589812380000013498181458522110619_);}
	.st87{fill:url(#SVGID_00000021815261300106614590000011820916675169013137_);}
	.st88{clip-path:url(#SVGID_00000082326698433528032390000006863086605646440860_);}
	.st89{fill:url(#SVGID_00000081639136351610166140000008845135638825505214_);}
	.st90{clip-path:url(#SVGID_00000123441438583824096460000009449906897857432764_);}
	.st91{fill:url(#SVGID_00000048459889806176809370000008367625083716724152_);}
	.st92{clip-path:url(#SVGID_00000044863168503659087730000000326481988103909020_);}
	.st93{fill:url(#SVGID_00000098933772168139896900000010899666794879848622_);}
	.st94{clip-path:url(#SVGID_00000149365554741035060840000011515362401153618316_);}
	.st95{fill:url(#SVGID_00000026841967051012507620000008597894604851982770_);}
	.st96{fill:url(#SVGID_00000107565432391102127560000010565244070674487434_);}
	.st97{fill:none;stroke:#231F20;stroke-width:200;stroke-miterlimit:10;}
	.st98{fill:none;stroke:#231F20;stroke-width:237;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
	.st99{fill:none;stroke:#231F20;stroke-width:368;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
}