@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Kosugi&family=Roboto:wght@400;700&display=swap");
*,
*:after,
*::before {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  width: 100%;
  font-size: 16px;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  width: 100%;
  color: #636e69;
  font-weight: normal;
  font-family: "Roboto", "Kosugi", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "Material Design Icons", sans-serif;
  overflow-x: hidden;
  line-height: 1.75;
  letter-spacing: 1px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

a {
  text-decoration: none;
  outline: none;
}

a:focus {
  outline: none;
}

img, svg {
  width: 100%;
  height: auto;
  border: none;
  vertical-align: bottom;
  image-rendering: -webkit-optimize-contrast;
}

hr {
  height: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

h1, h2, h3, h4, h5, h6 {
  padding: 0rem;
  margin: 0rem;
  font-size: 1rem;
  font-weight: normal;
  font-family: "Roboto", "Kosugi", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "Material Design Icons", sans-serif;
  line-height: 1.75;
  text-align: justify;
  word-break: break-all;
}

p {
  padding: 0rem;
  margin: 0rem;
  line-height: 1.75;
  text-align: justify;
  word-break: break-all;
}

div {
  line-height: 1.75;
}

article, aside, details, footer, header, main, menu, nav, section, summary {
  display: block;
}

ul, ol {
  list-style: none;
}

ul {
  font-size: 0;
}

ul li {
  font-size: 1rem;
  margin: 0rem;
  display: inline-block;
}

iframe {
  vertical-align: bottom;
}

::-webkit-input-placeholder {
  font-family: "Roboto", "Kosugi", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "Material Design Icons", sans-serif;
  font-size: 0.9rem;
  color: #b5baba;
}

:-ms-input-placeholder {
  font-family: "Roboto", "Kosugi", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "Material Design Icons", sans-serif;
  font-size: 0.9rem;
  color: #b5baba;
}

::-moz-placeholder {
  font-family: "Roboto", "Kosugi", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "Material Design Icons", sans-serif;
  font-size: 0.9rem;
  color: #b5baba;
}

::selection {
  background: #000; /* 選択色 */
  color: #fff; /*文字色*/
}

::-moz-selection {
  background: #000; /* 選択色 */
  color: #fff; /*文字色*/
}

input[type=text],
input[type=email],
input[type=number],
input[type=tel],
input[type=name],
input[type=submit],
button, textarea, select {
  width: 100%;
  margin: 0;
  padding: 0;
  font-size: 1rem;
  font-family: "Roboto", "Kosugi", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "Material Design Icons", sans-serif;
  overflow-x: hidden;
  line-height: 1.75;
  letter-spacing: 1px;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

button {
  width: auto;
  display: inline-block;
  cursor: pointer;
}

input[type=checkbox],
input[type=radio],
input[type=submit] {
  display: none;
}

select::-ms-expand {
  display: none;
}

span.wpcf7-list-item {
  display: block;
  margin: 0;
}

div.wpcf7-response-output {
  padding: 2rem 1rem;
  margin: 0;
  border: 0px;
}

div.wpcf7-validation-errors, div.wpcf7-acceptance-missing, div.wpcf7-response-output {
  background: #f7698d;
  text-align: center;
  color: #fff;
  font-weight: 700;
}

div.wpcf7-mail-sent-ok {
  background: #000;
  text-align: center;
  color: #fff;
  font-weight: 700;
}

body {
  color: #636e69;
}

a {
  color: #636e69;
}

.root-wrap {
  width: 100%;
  overflow: hidden;
}

.p768 {
  max-width: 768px;
  margin: 0 auto;
}

.p960 {
  max-width: 960px;
  margin: 0 auto;
}

.p1024 {
  max-width: 1024px;
  margin: 0 auto;
}

.p1240 {
  max-width: 1240px;
  margin: 0 auto;
}

.flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.flex._left {
  justify-content: flex-start;
}
.flex._right {
  justify-content: flex-end;
}
.flex._x-center {
  justify-content: center;
}
.flex._y-center {
  align-items: center;
}
.flex._bottom {
  align-items: flex-end;
}
.flex._top {
  align-items: flex-start;
}

button {
  vertical-align: bottom;
}

.btn_link {
  background: #ffcc3f;
  padding: 1rem 3rem 0.9rem;
  font-weight: 700;
  color: #000;
  font-size: 0.9rem;
  display: inline-block;
  border-radius: 50px;
  transition: 0.15s ease;
  cursor: pointer;
}
.btn_link:hover {
  color: #fff;
  background: #30B57B;
  transition: 0.15s ease;
}
.btn_link._submit {
  margin-top: 4rem;
  width: 100%;
  padding: 1.75rem 3rem 1.6rem;
  text-align: center;
  box-shadow: 0px 100px 217px rgba(145, 198, 178, 0.06), 0px 48.8676px 90.6574px rgba(145, 198, 178, 0.0431313), 0px 28.0038px 48.4698px rgba(145, 198, 178, 0.0357664), 0px 15.7085px 27.1718px rgba(145, 198, 178, 0.03), 0px 7.92635px 14.4307px rgba(145, 198, 178, 0.0242336), 0px 2.98735px 6.00495px rgba(145, 198, 178, 0.0168687);
}
.btn_link._submit._disable {
  filter: grayscale(1);
  color: #fff;
  pointer-events: none;
}

.btn_ghost {
  background: #fff;
  padding: 1rem 3rem 0.9rem;
  font-weight: 700;
  color: #30B57B;
  border: 1px solid;
  font-size: 0.9rem;
  display: inline-block;
  border-radius: 50px;
  cursor: pointer;
  transition: 0.15s ease;
}
.btn_ghost:hover {
  color: #fff;
  background: #30B57B;
  transition: 0.15s ease;
}

.card_feature {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  max-width: 1280px;
  margin: auto;
  position: relative;
  z-index: 10;
}
@media only screen and (max-width: 1180px) {
  .card_feature {
    max-width: 380px;
  }
}
.card_feature .card {
  width: calc((100% - 8rem * 2) / 3);
  margin-right: 8rem;
  position: relative;
  opacity: 0;
  transform: translateY(20px);
  transition: 0.35s ease;
}
.card_feature .card:last-child {
  margin-right: 0;
}
@media only screen and (max-width: 1180px) {
  .card_feature .card {
    width: 100%;
    margin-right: 0rem;
    margin-bottom: 4rem;
  }
  .card_feature .card:last-child {
    margin-bottom: 0;
  }
}
.card_feature .img-wrap {
  margin-bottom: 2rem;
  position: relative;
}
@media only screen and (max-width: 650px) {
  .card_feature .img-wrap {
    max-width: 230px;
    margin: auto;
    margin-bottom: 2rem;
  }
}
.card_feature .img-wrap::after {
  width: 70%;
  height: 70%;
  background: #eaf6f3;
  content: "";
  margin: auto;
  position: absolute;
  z-index: 0;
  border-radius: 100%;
}
.card_feature .img-wrap svg {
  z-index: 1;
  position: relative;
}
.card_feature .card:nth-child(1) .img-wrap::after {
  top: 22%;
  right: 10%;
}
.card_feature .card:nth-child(2) .img-wrap::after {
  top: 30%;
  left: 0;
  right: 0;
}
.card_feature .card:nth-child(3) .img-wrap::after {
  top: 32%;
  right: 5%;
}
.card_feature .card-title {
  text-align: center;
  font-size: 1.25rem;
  line-height: 1.5;
  font-weight: 700;
  margin-bottom: 1rem;
  color: #000;
}
.card_feature._on .card {
  opacity: 1;
  transform: translateY(0px);
  transition: 0.35s ease;
}
.card_feature._on .card:nth-child(1) {
  transition-delay: 0s;
}
.card_feature._on .card:nth-child(2) {
  transition-delay: 0.1s;
}
.card_feature._on .card:nth-child(3) {
  transition-delay: 0.2s;
}

.card_team {
  width: 100%;
  max-width: 1024px;
  margin: auto;
}
@media only screen and (max-width: 1180px) {
  .card_team {
    max-width: 380px;
  }
}
.card_team .card {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
}
.card_team .card + .card {
  margin-top: 6rem;
}
@media only screen and (max-width: 1180px) {
  .card_team .card + .card {
    margin-top: 8rem;
  }
}
.card_team .card-title {
  font-size: 1.25rem;
  line-height: 1.5;
  margin-bottom: 1rem;
  font-weight: 700;
  color: #000;
}
@media only screen and (max-width: 1180px) {
  .card_team .card-title {
    text-align: center;
  }
}
.card_team .btn-wrap {
  width: 100%;
  text-align: center;
  margin-top: 2rem;
}
@media only screen and (max-width: 1180px) {
  .card_team .btn-wrap {
    order: 3;
  }
}
.card_team .card-detail {
  width: calc(100% - 350px);
}
@media only screen and (max-width: 1180px) {
  .card_team .card-detail {
    width: 100%;
    order: 2;
  }
}
.card_team .card-image {
  width: 250px;
  text-align: center;
}
.card_team .card-image._oec svg {
  max-width: 215px;
}
@media only screen and (max-width: 1180px) {
  .card_team .card-image {
    width: 100%;
    order: 1;
    margin-bottom: 2rem;
  }
  .card_team .card-image img {
    max-width: 230px;
  }
}

input[type=text],
input[type=email],
input[type=number],
input[type=tel],
input[type=name],
button, textarea, select {
  color: #000;
}

input[type=submit] {
  color: #000;
}

.form_group {
  padding-bottom: 3rem;
  margin-bottom: 3rem;
  border-bottom: 1px solid #dde7e7;
}
.form_group .item {
  margin-bottom: 4.5rem;
}
.form_group .item:last-child {
  margin-bottom: 0;
}
.form_group h3 {
  font-weight: 700;
  margin-bottom: 1rem;
}

.form_text {
  position: relative;
}
.form_text input {
  color: #30B57B;
  padding: 1rem 2rem 0.9rem 2rem;
  padding-left: 4rem;
  font-weight: 700;
  background: #fff;
  border: 1px solid rgba(48, 181, 123, 0.2);
  border-radius: 50px;
}
.form_text .icon {
  width: 30px;
  height: 30px;
  content: "";
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 1.25rem;
  pointer-events: none;
  font-family: "Material Icons Outlined";
  text-align: center;
  color: #b5baba;
}
.form_text .icon i {
  font-size: 25px;
  margin: auto;
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  transform: translateY(-50%);
}
.form_text .icon._home {
  top: -4px;
}
.form_text .icon._person {
  top: -2px;
}
.form_text label {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 1rem;
  margin: auto;
  position: absolute;
  top: 0;
  left: 1rem;
  transform: translateY(calc(-100% - 0.5rem));
  color: #b5baba;
  font-weight: 700;
  font-size: 0.9rem;
  gap: 1rem;
}
.form_text label .req {
  color: #f7698d;
}
.form_text input:focus {
  border: 1px solid #30b57b;
  transition: 0.25s ease;
}
.form_text input:focus + .icon {
  color: #30B57B;
  transition: 0.25s ease;
}
.form_text input:focus + .icon + label {
  color: #30B57B;
  transition: 0.25s ease;
}

textarea {
  color: #30B57B;
  padding: 1rem 2rem 0.9rem 2rem;
  font-weight: 700;
  background: #fff;
  border: 1px solid rgba(48, 181, 123, 0.2);
  border-radius: 10px;
}
textarea:focus {
  border: 1px solid #30b57b;
  transition: 0.25s ease;
}

.form_checkbox {
  display: inline-block;
  vertical-align: bottom;
}
.form_checkbox label {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 1rem;
  cursor: pointer;
  margin-bottom: 1rem;
}
.form_checkbox label .icon {
  width: 25px;
  height: 25px;
  background: #fff;
  border: 1px solid rgba(48, 181, 123, 0.4);
  border-radius: 3px;
  transition: 0.25s ease;
  position: relative;
}
.form_checkbox label .icon .inner {
  width: 40%;
  height: 60%;
  margin: auto;
  position: absolute;
  top: -4px;
  right: -2px;
  bottom: 0;
  left: 0;
  content: "";
  transform: rotate(45deg);
}
.form_checkbox label .icon .inner span:nth-child(1) {
  width: 100%;
  height: 3px;
  content: "";
  background: #fff;
  margin: auto;
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  transform: scaleX(0);
  transform-origin: left;
  transition: 0.15s ease 0.2s;
}
.form_checkbox label .icon .inner span:nth-child(2) {
  height: 100%;
  width: 3px;
  content: "";
  background: #fff;
  margin: auto;
  position: absolute;
  right: 0;
  transform: scaleY(0);
  transform-origin: bottom;
  transition: 0.15s ease;
}
.form_checkbox label p {
  flex: 1;
  transform: translateY(2px);
  transition: 0.25s ease;
}
.form_checkbox input[type=checkbox]:checked + label p {
  color: #30B57B;
  font-weight: 700;
  transition: 0.25s ease;
}
.form_checkbox input[type=checkbox]:checked + label .icon {
  background: #30B57B;
  border: 1px solid #30b57b;
  transition: 0.25s ease;
}
.form_checkbox input[type=checkbox]:checked + label .icon .inner span:nth-child(1) {
  transform: scaleX(1);
  transition: 0.15s ease 0.15s;
}
.form_checkbox input[type=checkbox]:checked + label .icon .inner span:nth-child(2) {
  transform: scaleY(1);
  transition: 0.15s ease 0.35s;
}

.form_checkbox-wrap .row:last-child label {
  margin-bottom: 0;
}

.list_news-wrap {
  max-width: 1500px;
  margin: auto;
  position: relative;
}
.list_news-wrap .body {
  position: relative;
  background: #fff;
  padding: 4rem 2rem;
  z-index: 1;
  height: 100%;
  border-top-left-radius: 20px;
  border-bottom-left-radius: 20px;
  position: relative;
}
.list_news-wrap .body::after {
  width: 100%;
  height: 100%;
  content: "";
  margin: auto;
  position: absolute;
  top: 0;
  right: 0;
  background: #fff;
  transform: translateX(calc(100% - 2px));
  pointer-events: none;
}
.list_news-wrap .inner {
  max-width: 1024px;
  margin: auto;
}
.list_news-wrap .title {
  font-size: 1.25rem;
  line-height: 1.5;
  font-weight: 700;
  margin-bottom: 1rem;
  color: #000;
}
.list_news-wrap .shadow {
  width: 150%;
  height: 100%;
  background: #eaf6f3;
  content: "";
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  border-top-left-radius: 20px;
  border-bottom-left-radius: 20px;
  transform: translate(10px, 10px);
  z-index: 0;
  filter: blur(10px);
}

.list_news {
  width: 100%;
}
.list_news .item {
  width: 100%;
  font-size: 1.25rem;
  line-height: 1.5;
  margin-bottom: 0.5rem;
}
.list_news .item:last-child {
  margin-bottom: 0;
}

.list_check li {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  font-size: 1.25rem;
  line-height: 1.5;
  gap: 1rem;
  margin-bottom: 1rem;
}
.list_check li:last-child {
  margin-bottom: 0;
}
@media only screen and (max-width: 650px) {
  .list_check li {
    font-size: 1rem;
  }
}
.list_check li .icon {
  width: 30px;
  height: 30px;
  border: 2px solid #30B57B;
  position: relative;
  background: #fff;
}
.list_check li .icon::after {
  width: 10px;
  height: 15px;
  border-right: 2px solid #30B57B;
  border-bottom: 2px solid #30B57B;
  content: "";
  margin: auto;
  position: absolute;
  top: -4px;
  right: 0;
  bottom: 0;
  left: 0;
  transform: rotate(45deg);
}
.list_check li span {
  transform: translateY(2px);
  flex: 1;
}

.list_privacy .intro {
  margin-top: 2rem;
  margin-bottom: 2rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid #dde7e7;
}
.list_privacy .intro p {
  text-align: right;
}
.list_privacy ul {
  counter-reset: number 0;
}
.list_privacy ul li {
  margin-bottom: 2rem;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  counter-increment: number 1;
}
.list_privacy ul li .number {
  width: 20px;
}
.list_privacy ul li .number::before {
  content: counter(number) ".";
}
.list_privacy ul li p {
  flex: 1;
}
.list_privacy .detail {
  margin-top: 2rem;
  padding-top: 2rem;
  margin-bottom: 2rem;
  padding-bottom: 2rem;
  border-top: 1px solid #dde7e7;
  border-bottom: 1px solid #dde7e7;
}
.list_privacy .btn-wrap {
  text-align: center;
}

.root-wrap.nowloading {
  opacity: 0;
}

.root-wrap {
  opacity: 1;
}

body .loading-wrap {
  width: 100%;
  height: 100%;
  background: #fff;
  top: 0;
  left: 0;
  position: fixed;
  z-index: 9999;
  padding: 2rem;
  opacity: 0;
  pointer-events: none;
  transition: all 0.5s ease;
}

body.trans .loading-wrap {
  opacity: 1;
  pointer-events: auto;
  transition: all 0.5s ease;
}

.loading-wrap .inner {
  width: 100%;
  height: 100%;
}

.loading-wrap .inner > div {
  transform: translateY(-8rem);
}

html.ios body .loading-wrap,
html.ipad body .loading-wrap {
  background: none;
  padding: 0rem;
  pointer-events: none;
}

body .loading-ios-wrap {
  width: 100%;
  height: 100%;
  padding: 0rem;
  pointer-events: none;
}

html.ios body .loading-ios-wrap,
html.ipad body .loading-ios-wrap {
  width: 100%;
  height: 100%;
  background: #fff;
  padding: 2rem;
  pointer-events: none;
}

html.ios body .loading-ios-wrap,
html.ipad body .loading-ios-wrap {
  animation-duration: 0.5s;
  animation-delay: 0s;
  animation-name: loadinginios;
  animation-timing-function: ease;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}

html.ios body.trans .loading-ios-wrap,
html.ipad body.trans .loading-ios-wrap {
  animation-duration: 4.5s;
  animation-delay: 0s;
  animation-name: loadingoutios;
  animation-timing-function: ease;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}

@keyframes loadingoutios {
  0% {
    pointer-events: auto;
    opacity: 1;
  }
  80% {
    pointer-events: auto;
    opacity: 1;
  }
  81% {
    pointer-events: auto;
    opacity: 1;
  }
  99% {
    pointer-events: auto;
  }
  100% {
    pointer-events: none;
    opacity: 0;
  }
}
@keyframes loadininios {
  0% {
    pointer-events: auto;
    opacity: 0;
  }
  80% {
    pointer-events: auto;
    opacity: 0;
  }
  81% {
    pointer-events: auto;
    opacity: 0;
  }
  99% {
    pointer-events: auto;
  }
  100% {
    pointer-events: none;
    opacity: 1;
  }
}
.md_bg-object-container {
  width: 100%;
  height: 100%;
  content: "";
  pointer-events: none;
  margin: auto;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
}
.md_bg-object-container img {
  margin: auto;
  position: absolute;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
}
.md_bg-object-container._hero img {
  max-width: 22vw;
  bottom: 0;
  left: 0;
  transform: translate(-10%, 30%);
}
@media only screen and (max-width: 650px) {
  .md_bg-object-container._hero img {
    max-width: 32vw;
  }
}
.md_bg-object-container._feature img {
  max-width: 20vw;
  top: 0;
  right: 0;
  transform: translate(-5%, -30%);
}
@media only screen and (max-width: 650px) {
  .md_bg-object-container._feature img {
    max-width: 30vw;
  }
}
.md_bg-object-container._image img {
  max-width: 18vw;
  top: 0;
  transform: translate(-20%, -65%);
}
@media only screen and (max-width: 650px) {
  .md_bg-object-container._image img {
    max-width: 28vw;
  }
}

.md_id-margin {
  padding-top: 150px;
  margin-top: -150px;
}

.c-md-video-wrap {
  width: 100%;
  aspect-ratio: 16/9;
  position: relative;
}
.c-md-video-wrap video {
  width: 100%;
  vertical-align: bottom;
  margin: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.menu_fixed {
  width: 100%;
  padding: 2rem;
  padding-bottom: 1rem;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
  pointer-events: none;
  transition: 0.35s ease;
}
@media only screen and (max-width: 650px) {
  .menu_fixed {
    padding: 2rem 1rem;
    padding-bottom: 1rem;
  }
}
.menu_fixed .logo {
  width: 100%;
  max-width: clamp(180px, 30vw, 480px);
  pointer-events: auto;
  transition: 0.35s ease;
}
@media only screen and (max-width: 650px) {
  .menu_fixed .logo {
    max-width: 180px;
  }
}
.menu_fixed nav.menu_list {
  pointer-events: auto;
}
.menu_fixed nav.menu_list ul {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  align-items: center;
}
.menu_fixed nav.menu_list ul li a:not(.btn_link) {
  font-weight: 700;
  overflow: hidden;
  display: block;
  text-transform: uppercase;
  padding: 1rem 2rem;
  position: relative;
  color: #000;
}
.menu_fixed nav.menu_list ul li a:not(.btn_link) p {
  text-align: center;
  line-height: 1;
  transition: 0.25s ease;
}
.menu_fixed nav.menu_list ul li a:not(.btn_link) p.jp {
  margin: auto;
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  transform: translateY(100%);
  opacity: 0;
}
.menu_fixed nav.menu_list ul li a:not(.btn_link):hover p {
  transition: 0.25s ease;
}
.menu_fixed nav.menu_list ul li a:not(.btn_link):hover p.en {
  transform: translateY(-100%);
  opacity: 0;
}
.menu_fixed nav.menu_list ul li a:not(.btn_link):hover p.jp {
  margin: auto;
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  transform: translateY(-45%);
  opacity: 1;
}
@media only screen and (max-width: 1180px) {
  .menu_fixed nav.menu_list ul li.contact {
    margin-right: 70px;
  }
}
@media only screen and (max-width: 650px) {
  .menu_fixed nav.menu_list ul li.contact {
    display: none;
  }
}
@media only screen and (max-width: 1180px) {
  .menu_fixed nav.menu_list ul li:not(.contact) {
    display: none;
  }
}
.menu_fixed._on {
  background: #fff;
  transition: 0.35s ease;
  transform: translateY(-1rem);
}
.menu_fixed._on .logo {
  max-width: 380px;
  transition: 0.35s ease;
}

.menu_hmbg-btn {
  width: 48px;
  height: 48px;
  display: none;
  position: relative;
  position: fixed;
  top: 29px;
  z-index: 99999;
  right: 2rem;
  transition: 0.35s ease;
}
.menu_hmbg-btn._is-scroll {
  transform: translateY(-1rem);
  transition: 0.35s ease;
}
@media only screen and (max-width: 1180px) {
  .menu_hmbg-btn {
    display: block;
  }
}
@media only screen and (max-width: 650px) {
  .menu_hmbg-btn {
    top: 20px;
    right: 1rem;
  }
}
.menu_hmbg-btn span {
  width: 50%;
  height: 2px;
  background: #30B57B;
  margin: auto;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transition: 0.25s ease;
}
.menu_hmbg-btn span:nth-child(1) {
  transform: translateY(5px) rotate(0);
}
.menu_hmbg-btn span:nth-child(2) {
  transform: translateY(-5px) rotate(0);
}
.menu_hmbg-btn._on span {
  background: #fff;
}
.menu_hmbg-btn._on span:nth-child(1) {
  transform: translateY(0px) rotate(45deg);
  transition: 0.25s ease;
}
.menu_hmbg-btn._on span:nth-child(2) {
  transform: translateY(0px) rotate(-45deg);
  transition: 0.25s ease;
}
.menu_hmbg-btn._hidden {
  opacity: 0;
  pointer-events: none;
}

.menu_mobile {
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99998;
  overflow-y: scroll;
  padding: 20vh 2rem;
  pointer-events: none;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.menu_mobile::-webkit-scrollbar {
  display: none;
}
.menu_mobile._on {
  pointer-events: auto;
}
.menu_mobile ul {
  width: 100%;
}
.menu_mobile ul li {
  width: 100%;
  text-align: right;
  margin-bottom: 2rem;
  font-weight: 700;
  opacity: 0;
  transform: translateX(40px);
  transition: 0.35s ease;
}
.menu_mobile ul li p {
  text-align: right;
}
.menu_mobile ul li a:not(.btn_link) {
  color: #fff;
}
.menu_mobile ul li .en {
  font-size: 3rem;
  line-height: 1.35;
  text-transform: uppercase;
  line-height: 1;
}
.menu_mobile._on ul li {
  opacity: 1;
  transform: translateX(0);
  transition: 0.35s ease;
}
.menu_mobile._on ul li:nth-child(1) {
  transition-delay: 0;
}
.menu_mobile._on ul li:nth-child(2) {
  transition-delay: 0.1s;
}
.menu_mobile._on ul li:nth-child(3) {
  transition-delay: 0.2s;
}
.menu_mobile._on ul li:nth-child(4) {
  transition-delay: 0.3s;
}

.heading_section {
  width: 100%;
  font-size: 7vw;
  line-height: 1;
  font-weight: 700;
  color: #c3efdc;
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  letter-spacing: 0;
  padding: 0 2rem;
  text-transform: uppercase;
  pointer-events: none;
}
.heading_section > .inner {
  transform: translateY(-50%) skew(-15deg);
  width: 80vw;
  max-width: 1280px;
  margin: auto;
}
@media only screen and (max-width: 1180px) {
  .heading_section {
    font-size: 10vw;
  }
}
@media only screen and (max-width: 650px) {
  .heading_section {
    font-size: 13vw;
  }
}
.heading_section._center {
  text-align: center;
}
.heading_section._right {
  text-align: right;
}
.heading_section._white {
  color: #fff;
}
.heading_section._relative {
  position: relative;
}
.heading_section._relative > .inner {
  transform: translateY(0) skew(-15deg);
}

.modal_bg {
  width: 100%;
  height: 100vh;
  position: fixed;
  margin: auto;
  top: 0;
  left: 0;
  background: rgba(48, 181, 123, 0.5);
  backdrop-filter: blur(5px);
  z-index: 9999;
  opacity: 0;
  pointer-events: none;
  transition: 0.35s ease;
}
.modal_bg._on {
  opacity: 1;
  pointer-events: auto;
  transition: 0.35s ease;
}

.modal_container {
  width: 100%;
  height: 100vh;
  position: fixed;
  margin: auto;
  top: 0;
  left: 0;
  z-index: 10001;
  pointer-events: none;
  opacity: 0;
  padding: 10vh 2rem;
  overflow-y: scroll;
  overflow-y: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.modal_container::-webkit-scrollbar {
  display: none;
}
@media only screen and (max-width: 650px) {
  .modal_container {
    padding: 10vh 1rem;
  }
}
.modal_container .modal_wrap {
  width: 100%;
  max-width: 680px;
  margin: 0 auto;
  padding: 2.5rem 2rem 2rem 2rem;
  background: #fff;
  border-radius: 5px;
  z-index: 10002;
  position: relative;
  pointer-events: none;
  opacity: 0;
  transform: translateY(20px);
  transition: 0.35s ease 0s;
  box-shadow: 0px 100px 217px rgba(145, 198, 178, 0.06), 0px 48.8676px 90.6574px rgba(145, 198, 178, 0.0431313), 0px 28.0038px 48.4698px rgba(145, 198, 178, 0.0357664), 0px 15.7085px 27.1718px rgba(145, 198, 178, 0.03), 0px 7.92635px 14.4307px rgba(145, 198, 178, 0.0242336), 0px 2.98735px 6.00495px rgba(145, 198, 178, 0.0168687);
}
@media only screen and (max-width: 650px) {
  .modal_container .modal_wrap {
    padding: 2.5rem 1rem 2rem 1rem;
  }
}
.modal_container .modal_wrap .icon {
  width: 40px;
  height: 40px;
  content: "";
  margin: auto;
  position: absolute;
  top: 0;
  right: 0;
  transform: translateY(-100%);
  pointer-events: none;
}
.modal_container .modal_wrap .icon::after, .modal_container .modal_wrap .icon::before {
  width: 50%;
  height: 2px;
  background: #fff;
  content: "";
  margin: auto;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transform: rotate(45deg);
}
.modal_container .modal_wrap .icon::before {
  transform: rotate(-45deg);
}
.modal_container .modal_wrap > .inner {
  width: 100%;
  max-width: 480px;
  margin: 0 auto;
}
.modal_container .modal_wrap h3 {
  font-size: 1.25rem;
  line-height: 1.5;
  margin-bottom: 1rem;
  text-align: center;
}
.modal_container .modal_wrap .text {
  margin-bottom: 2rem;
}
.modal_container .modal_wrap .text span {
  font-weight: 700;
}
.modal_container .modal_close-ovl {
  content: "";
  z-index: 10000;
  cursor: pointer;
  margin: auto;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.modal_container._open {
  opacity: 1;
  pointer-events: auto;
}
.modal_container._open .modal_wrap {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
  transition: 0.35s ease 0.25s;
}

.p-top-card {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 12rem;
}
@media only screen and (max-width: 800px) {
  .p-top-card {
    margin-bottom: 8rem;
  }
}
.p-top-card .p-top-card-detail {
  width: 45%;
}
@media only screen and (max-width: 800px) {
  .p-top-card .p-top-card-detail {
    margin-bottom: 2rem;
    width: 100%;
  }
}
.p-top-card .p-top-card-detail .p-top-card-heading {
  font-weight: 700;
  color: #000;
  font-size: 2rem;
  line-height: 1.35;
  margin-bottom: 2rem;
}
.p-top-card .p-top-card-detail .p-top-card-description {
  text-align: justify;
  word-break: break-all;
}
.p-top-card .p-top-card-image-wrap {
  width: calc(55% - 4rem);
  perspective: 300px;
  position: relative;
}
@media only screen and (max-width: 800px) {
  .p-top-card .p-top-card-image-wrap {
    width: 100%;
    margin-bottom: 2rem;
  }
}
.p-top-card .p-top-card-image-body {
  position: relative;
  z-index: 10;
  will-change: transform;
}
.p-top-card .p-top-card-image-body img {
  position: relative;
  z-index: 20;
}
.p-top-card._about {
  margin-left: auto;
  padding-right: 0;
  padding-left: 2rem;
}
@media only screen and (max-width: 800px) {
  .p-top-card._about {
    padding-left: 0;
  }
}
.p-top-card._about .p-top-card-image-body::after {
  width: 100%;
  height: 100%;
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: #8fb9ae;
  filter: blur(20px);
  opacity: 0.25;
  transform: translateY(3%);
}
.p-top-card._about .p-top-card-image-body img {
  width: 120%;
  border-radius: 20px;
}
.p-top-card._odd .p-top-card-detail {
  order: 2;
}
@media only screen and (max-width: 800px) {
  .p-top-card._odd .p-top-card-detail {
    order: 1;
  }
}
.p-top-card._odd .p-top-card-image-wrap {
  order: 1;
}
@media only screen and (max-width: 800px) {
  .p-top-card._odd .p-top-card-image-wrap {
    order: 2;
  }
}
.p-top-card._odd .p-top-card-image-wrap img {
  width: 100%;
}
.p-top-card._other .p-top-card-image-wrap {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.p-top-card._other .image-item {
  width: calc((100% - 2rem * 1) / 2);
}
@media only screen and (max-width: 800px) {
  .p-top-card._other .image-item {
    width: 100%;
  }
  .p-top-card._other .image-item svg {
    max-width: 280px;
    margin: auto;
    display: block;
  }
}
.p-top-card._other .image-item .description {
  text-align: center;
  font-weight: 700;
  color: #000;
  font-size: 1.25rem;
  line-height: 1.5;
}

section.hero {
  width: 100%;
  height: 100vh;
  background: #fff;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
  position: relative;
}
section.hero::after {
  width: 35vw;
  height: 35vw;
  background: #eaf6f3;
  content: "";
  margin: auto;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 0;
  border-radius: 100%;
  filter: blur(50px);
  transform: translate(-25%, 25%);
}
section.hero .wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 1180px) {
  section.hero .wrap {
    align-items: center;
    height: auto;
  }
}
section.hero .wrap .detail-wrap {
  width: 100%;
  height: 100%;
  display: flex;
  padding: 2rem 4rem;
  position: relative;
  z-index: 1;
  mix-blend-mode: multiply;
}
@media only screen and (max-width: 1180px) {
  section.hero .wrap .detail-wrap {
    height: auto;
    padding-top: 15vh;
  }
}
@media only screen and (max-width: 650px) {
  section.hero .wrap .detail-wrap {
    padding: 2rem 2rem;
  }
}
section.hero .wrap .detail-wrap .inner {
  align-self: center;
  max-width: 100%;
  transform: translateY(-4rem);
}
@media only screen and (max-width: 1180px) {
  section.hero .wrap .detail-wrap .inner {
    align-self: auto;
    transform: translateY(0rem);
  }
}
section.hero .wrap .detail-wrap .logo {
  margin-bottom: 4rem;
}
section.hero .wrap .detail-wrap .detail h2 {
  margin-bottom: 2rem;
  color: #30B57B;
}
section.hero .wrap .detail-wrap .detail h2 p {
  font-size: 4.5vw;
  line-height: 1.2em;
  font-weight: 700;
}
@media only screen and (max-width: 1180px) {
  section.hero .wrap .detail-wrap .detail h2 p {
    font-size: 8vw;
  }
}
@media only screen and (max-width: 800px) {
  section.hero .wrap .detail-wrap .detail h2 p {
    font-size: 7vw;
  }
}
@media only screen and (max-width: 650px) {
  section.hero .wrap .detail-wrap .detail h2 p {
    font-size: 2rem;
  }
}
section.hero .wrap .detail-wrap .text-wrap {
  font-size: 1.5rem;
  line-height: 1.5;
}
@media only screen and (max-width: 1180px) {
  section.hero .wrap .detail-wrap .text-wrap {
    margin-left: 1rem;
    font-size: 1.5rem;
    line-height: 1.5;
  }
}
@media only screen and (max-width: 650px) {
  section.hero .wrap .detail-wrap .text-wrap {
    margin-left: 1rem;
    font-size: 1rem;
  }
}
section.hero .wrap .hero-image {
  width: calc(65% - 0rem);
  height: 100%;
  display: flex;
  margin: auto;
  position: absolute;
  top: 2rem;
  right: -2rem;
  bottom: 0;
  transform: scale(1.1);
  transform-origin: left center;
}
@media only screen and (max-width: 1180px) {
  section.hero .wrap .hero-image {
    display: block;
    width: 100%;
    height: auto;
    position: relative;
    top: 0;
    margin: 0;
  }
}
@media only screen and (max-width: 650px) {
  section.hero .wrap .hero-image {
    transform: scale(1.2);
    right: -1rem;
  }
}
section.hero .wrap .hero-image svg {
  align-self: center;
}

section.news {
  padding: 8rem 2rem 8rem 2rem;
  position: relative;
}
section.news .heading_section .inner {
  max-width: 1024px;
  transform: translateY(0) skew(-15deg);
  text-align: left;
}

section.about {
  width: 100%;
  padding: 8rem 2rem;
  padding-bottom: 20rem;
  position: relative;
  margin-top: 8rem;
}
section.about::after {
  width: 35vw;
  height: 35vw;
  background: #eaf6f3;
  content: "";
  margin: auto;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 0;
  border-radius: 100%;
  filter: blur(50px);
  transform: translate(-25%, 25%);
  left: auto;
  right: 0;
  transform: translate(25%, 50%);
}
section.about .box {
  width: 80vw;
  max-width: 1280px;
  margin: auto;
  margin-top: 4rem;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 800px) {
  section.about .box {
    width: 100%;
    max-width: 480px;
    margin: auto;
  }
}
section.about .box figure {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  align-items: center;
  gap: 4rem;
}
@media only screen and (max-width: 800px) {
  section.about .box figure {
    gap: 2rem;
  }
}
section.about .box figure img {
  width: 30%;
}
@media only screen and (max-width: 800px) {
  section.about .box figure img {
    width: 100%;
    max-width: 280px;
    margin-bottom: 3rem;
  }
}
@media only screen and (max-width: 650px) {
  section.about .box figure img {
    max-width: 180px;
  }
}
section.about .box figure figcaption {
  width: calc(50% - 4rem);
}
@media only screen and (max-width: 800px) {
  section.about .box figure figcaption {
    width: calc(100% - 0rem);
  }
}
section.about .box figure figcaption h3 {
  font-size: 2rem;
  line-height: 1.35;
  margin-bottom: 1rem;
  color: #000;
}
@media only screen and (max-width: 800px) {
  section.about .box figure figcaption h3 {
    text-align: center;
  }
}
@media only screen and (max-width: 650px) {
  section.about .box figure figcaption h3 {
    font-size: 1.5rem;
    line-height: 1.5;
  }
}

.p-top-about2 {
  padding: 8rem 0 16rem;
}
.p-top-about2 .heading_section {
  position: relative;
  z-index: 100;
}
.p-top-about2 .section-inner {
  margin: auto;
}
.p-top-about2 .p-top-card {
  width: 90%;
  max-width: 1500px;
  padding-right: 2rem;
}
@media only screen and (max-width: 800px) {
  .p-top-about2 .p-top-card {
    padding-right: 0;
    max-width: 100%;
  }
  .p-top-about2 .p-top-card .p-top-card-detail {
    padding: 0 2rem;
  }
}

section.feature {
  padding: 8rem 2rem 16rem 2rem;
  position: relative;
}
@media only screen and (max-width: 1180px) {
  section.feature {
    padding-bottom: 0;
  }
}

section.p-top-feature2 {
  padding: 8rem 2rem 0 2rem;
  position: relative;
}
@media only screen and (max-width: 1180px) {
  section.p-top-feature2 {
    padding-bottom: 0;
  }
}
section.p-top-feature2 .section-inner {
  max-width: 1280px;
  margin: auto;
}
section.p-top-feature2 .p-top-card .p-top-card-detail {
  transform: translateX(-40px);
  opacity: 0;
  transition: 0.5s ease;
}
section.p-top-feature2 .p-top-card .p-top-card-image-wrap {
  transform: translateX(40px);
  opacity: 0;
  transition: 0.5s ease;
}
section.p-top-feature2 .p-top-card._odd .p-top-card-detail {
  transform: translateX(40px);
}
section.p-top-feature2 .p-top-card._odd .p-top-card-image-wrap {
  transform: translateX(-40px);
}
section.p-top-feature2 .p-top-card._on .p-top-card-detail {
  transform: translateX(0px);
  opacity: 1;
}
section.p-top-feature2 .p-top-card._on .p-top-card-image-wrap {
  transform: translateX(0px);
  opacity: 1;
}
section.p-top-feature2 .p-top-card._on._odd .p-top-card-detail {
  transform: translateX(0px);
}
section.p-top-feature2 .p-top-card._on._odd .p-top-card-image-wrap {
  transform: translateX(0px);
}

section.use-case {
  padding: 6rem 0rem 0rem 0rem;
  position: relative;
  z-index: 30;
}
section.use-case .heading_section {
  text-align: center;
}
@media only screen and (max-width: 1180px) {
  section.use-case .heading_section {
    position: relative;
  }
}
section.use-case .heading_section .inner {
  max-width: 100%;
}
@media only screen and (max-width: 1180px) {
  section.use-case .heading_section .inner {
    transform: translateY(0) skew(-15deg);
  }
}
section.use-case .item-wrap {
  z-index: 10;
  position: relative;
  padding: 0 2rem;
}
section.use-case .item-wrap > .inner {
  max-width: 90vw;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  align-items: center;
  margin: auto;
}
@media only screen and (max-width: 1180px) {
  section.use-case .item-wrap > .inner {
    max-width: 580px;
  }
}
section.use-case .item-wrap::after {
  height: 90%;
  width: 100%;
  content: "";
  margin: auto;
  position: absolute;
  top: auto;
  bottom: 0;
  left: 0;
  background: #30B57B;
  z-index: 1;
  transform-origin: left;
  transform: scaleX(0);
  transition: 0.5s ease;
}
section.use-case .img-wrap {
  width: 60%;
  perspective: 300px;
  position: relative;
  will-change: transform;
  z-index: 10;
}
@media only screen and (max-width: 1180px) {
  section.use-case .img-wrap {
    width: 100%;
    margin-bottom: 4rem;
    transform: translateX(0rem);
  }
}
@media only screen and (max-width: 650px) {
  section.use-case .img-wrap {
    margin-bottom: 2rem;
  }
}
section.use-case .img-wrap .img-body {
  perspective: 300px;
  position: relative;
  opacity: 0;
  will-change: transform;
  transition: opacity 1s ease;
}
section.use-case .img-wrap .img-body::after {
  width: 100%;
  height: 100%;
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: #8fb9ae;
  filter: blur(20px);
  opacity: 0.5;
  transform: translateY(3%);
}
section.use-case .img-wrap img {
  border-radius: 20px;
  position: relative;
  z-index: 2;
}
section.use-case .detail-wrap {
  width: calc(35% - 0rem);
  max-width: 680px;
  position: relative;
  z-index: 10;
  color: #fff;
  padding-left: 2rem;
  font-weight: 700;
}
@media only screen and (max-width: 1180px) {
  section.use-case .detail-wrap {
    width: 100%;
    padding-left: 0rem;
    padding-bottom: 8rem;
  }
}
section.use-case .detail-title {
  font-size: 2rem;
  line-height: 1.35;
  margin-bottom: 2rem;
  font-weight: 700;
  opacity: 0;
  transform: translateX(20px);
  transition: 0.5s ease;
}
section.use-case .list_check li {
  opacity: 0;
  transform: translateX(20px);
  transition: 0.5s ease;
}
section.use-case._on .item-wrap::after {
  transform: scaleX(1);
  transition: 0.5s ease;
}
section.use-case._on .img-wrap .img-body {
  opacity: 1;
  transition: opacity 1s ease;
}
section.use-case._on .detail-title {
  opacity: 1;
  transform: translateX(0px);
  transition: 0.5s ease 0.2s;
}
section.use-case._on .list_check li {
  opacity: 1;
  transform: translateX(0px);
  transition: 0.5s ease;
}
section.use-case._on .list_check li:nth-child(1) {
  transition-delay: 0.4s;
}
section.use-case._on .list_check li:nth-child(2) {
  transition-delay: 0.6s;
}
section.use-case._on .list_check li:nth-child(3) {
  transition-delay: 0.8s;
}

section.contact {
  width: 100%;
  padding: 8rem 2rem 8rem;
  background: #f8fcfb;
  position: relative;
  z-index: 10;
}
@media only screen and (max-width: 650px) {
  section.contact {
    padding: 8rem 1rem 14rem;
  }
}
section.contact > .inner {
  position: relative;
  z-index: 10;
}
section.contact .heading_section {
  margin-bottom: 4rem;
}
section.contact .section-inner {
  width: 80vw;
  max-width: 480px;
  margin: auto;
}
@media only screen and (max-width: 650px) {
  section.contact .section-inner {
    width: 100%;
  }
}
section.contact .privacy-wrap {
  text-align: center;
}
section.contact .privacy-wrap .row {
  margin-top: 2rem;
}

section.team {
  width: 100%;
  padding: 8rem 2rem;
}
section.team .title-section {
  font-size: 1.5rem;
  line-height: 1.5;
  margin-bottom: 4rem;
  font-weight: 700;
  text-align: center;
  color: #000;
}
@media only screen and (max-width: 1180px) {
  section.team .title-section {
    margin-bottom: 8rem;
  }
}

footer {
  padding: 2rem 2rem;
  background: #46ce93;
}
footer p {
  font-weight: 700;
  color: #30B57B;
  text-align: center;
  mix-blend-mode: multiply;
}

/*# sourceMappingURL=main.css.map */