@charset "UTF-8";

@media screen and (min-width: 1500px) {
  .home .sec {
    max-width: 1400px;
    margin: 0 auto;
  }
} 

/* top共通 */
.ttl1-en {
  position: absolute;
  font-size: 10rem;
  color: #0000000a;
  line-height: 1;
}
@media screen and (max-width: 820px) {
  .ttl1-en {
    font-size: 5rem;
  }
}
@media screen and (max-width: 767px) {
  .ttl1-en {
    font-size: 2.5rem;
  }
}

/* top-common-media1-eles */
.top-common-media1-eles h3 {
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 2rem;
  color: #2734AC;
}
.top-feature-eles .media-ele-wrap,
.top-common-media1-eles .media-ele-wrap {
  width: 60%;
}
.top-common-media1-eles .media-img-wrap {
  position: relative;
}
.top-common-media1-eles .media-img-wrap .pic1,
.top-common-media1-eles .media-img-wrap .pic2 {
  position: absolute;
}
.top-common-media1-eles .media-img-wrap.right {
  margin-right: calc(50% - 50vw);
}
.top-common-media1-eles .media-img-wrap.left {
  margin-left: calc(50% - 50vw);
}
.top-common-media1-eles .media-img-wrap.right {
  height: 450px;
}
.top-feature-eles .media-img-wrap .pic1,
.top-common-media1-eles .media-img-wrap.right .pic1 {
  top: 0;
  left: 0;
  z-index: 1;
  width: 400px;
}
.top-common-media1-eles .media-img-wrap.right .pic2 {
  bottom: 0;
  right: 0;
  z-index: 2;
  width: 300px;
}
.top-common-media1-eles .media-img-wrap.left {
  height: 650px;
}
.top-common-media1-eles .media-img-wrap.left .pic1 {
  top: 0;
  left: 0;
  z-index: 1;
  width: 500px;
}
.top-common-media1-eles .media-img-wrap.left .pic2 {
  bottom: 0;
  right: 0;
  z-index: 2;
  width: 350px;
}
@media screen and (min-width: 1500px) {
  .top-common-media1-eles .media-img-wrap {
    margin: 0 auto !important;
  }
}
@media screen and (max-width: 1024px) {
  .top-common-media1-eles .media-img-wrap.left .pic1 {
    width: 400px;
  }
  .top-common-media1-eles .media-img-wrap.left .pic2 {
    width: 300px;
  }
}
@media screen and (max-width: 820px) {
  .top-company-sec .media {
    flex-direction: column-reverse;
  }
  .top-feature-eles .media-ele-wrap,
  .top-common-media1-eles .media-ele-wrap {
    width: 100%;
  }
  .top-common-media1-eles .media-img-wrap {
    width: 60%;
  }
  .top-recruit-sec .media-img-wrap.left {
    margin-left: auto;
  }
  .top-common-media1-eles .media-img-wrap.right {
  height: 300px;
  }
}
@media screen and (max-width: 767px) {
  .top-common-media1-eles .media-img-wrap {
    width: 100%;
  }
  .top-common-media1-eles .media-img-wrap.right {
    height: 160px;
  }
  .top-feature-eles .media-img-wrap .pic1,
  .top-common-media1-eles .media-img-wrap.right .pic1 {
    width: 200px;
  }
  .top-common-media1-eles .media-img-wrap.right .pic2 {
    width: 150px;
  }
  .top-common-media1-eles .media-img-wrap.left {
    height: 320px;
  }
  .top-common-media1-eles .media-img-wrap.left .pic1 {
    width: 180px;
  }
  .top-common-media1-eles .media-img-wrap.left .pic2 {
    width: 180px;
  }
  .top-common-media1-eles h3 {
    font-size: 1.8rem;
  }
}

.ul-btn-list li a {
  position: relative;
  border-bottom: 1px solid #ccc;
  display: block;
  padding: 3rem 2rem;
  font-weight: 500;
}
.ul-btn-list li:first-child a {
  border-top: 1px solid #ccc;
}
.ul-btn-list li a::before {
  position: absolute;
  content: "";
  top: 50%;
  transform: translateY(-50%);
  right: 5%;
  background: #2734AC;
  width: 30px;
  height: 30px;
  border-radius: 50%;
}
.ul-btn-list li a::after {
  position: absolute;
  content: '\f061';
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  top: 50%;
  transform: translateY(-50%);
  right: 40px;
  transition: .5s;
  color: #fff;
}
.ul-btn-list li a:hover {
  opacity: 1;
}
.ul-btn-list li a:hover::after {
  right: 30px;
  transition: .5s;
}
@media screen and (min-width: 1500px) {
  .ul-btn-list li a::before {
    right: 30px;
  }
}
@media screen and (max-width: 820px) {
  .ul-btn-list li a::after {
    right: 45px;
  }
}
@media screen and (max-width: 767px) {
  .ul-btn-list li a {
    padding: 1.5rem 2rem;
  }
  .ul-btn-list li a::after {
    right: 25px;
  }
  .ul-btn-list li a:hover::after {
    right: 15px;
  }
}

/* firstview */
.firstview {
  position: relative;
  height: 100vh;
}
.firstview-bg {
  width: 100%;
  height: 100vh;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.firstview .img-wrap1 {
  position: absolute;
  top: 20px;
  left: 20px;
  max-width: 750px;
  z-index: 1;
}
.firstview .img-wrap2 {
  position: absolute;
  bottom: 20px;
  right: 20px;
  max-width: 750px;
  z-index: 2;
}
.firstview .txt-wrap1 {
  position: absolute;
  top: 10%;
  right: 5%;
  /* bottom: 10%;
  left: 5%; */
  z-index: 3;
}
.firstview .txt-wrap1 div {
  display: inline-block;
}
.firstview .js-scroll-item:nth-of-type(1) {
  display: block;
}
.firstview .txt-wrap1 .txt1 {
  font-size: 8rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1.5;
  padding: 0 1rem;
  background: rgba(255, 255, 255, .2);
  backdrop-filter: blur(2px);
  color: #fff;
  /* text-shadow: 1px 1px 1px #181818,
  -1px 1px 1px #181818,
  1px -1px 1px #181818,
  -1px -1px 1px #181818,
  1px 0px 1px #181818,
  0px 1px 1px #181818,
  -1px 0px 1px #181818,
  0px -1px 1px #181818,
  1px 1px 1px #181818,
  -1px 1px 1px #181818,
  1px -1px 1px #181818,
  -1px -1px 1px #181818,
  1px 1px 1px #181818,
  0px 1px 1px #181818,
  -1px 0px 1px #181818,
  0px -1px 1px #181818; */
}
.firstview .txt-wrap1 .txt1 span {
  font-size: 12rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1;
  color: #2734AC;
  text-shadow: initial;
}
.firstview .txt-wrap1 .txt2 {
  font-size: 3rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1.5;
  padding: 0 1rem;
  background: rgba(255, 255, 255, .2);
  backdrop-filter: blur(2px);
}
.firstview .txt-wrap1 .txt2 span {
  font-size: 12rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1;
  color: #2734AC;
}
/* @media screen and (min-width: 2000px) {
  .firstview {
    height: 950px;
  }
}
@media screen and (min-width: 1500px) {
  .firstview {
    max-width: 1440px;
    margin: 0 auto;
  }
} */
@media screen and (max-width: 1024px) {
  .firstview {
    height: 1000px;
  }
}
@media screen and (max-width: 820px) {
  .firstview {
    height: 650px;
  }
  .firstview .img-wrap1 {
    max-width: 500px;
  }
  .firstview .img-wrap2 {
    max-width: 500px;
  }
  .firstview .txt-wrap1 .txt1 {
    font-size: 5rem;
  }
  .firstview .txt-wrap1 .txt1 span {
    font-size: 8rem;
  }
  .firstview .txt-wrap1 .txt2 span {
    font-size: 8rem;
  }
}
@media screen and (max-width: 767px) {
  .firstview {
    height: 600px;
  }
  .firstview .img-wrap1 {
    max-width: 300px;
    top: 100px;
    left: 10px;
  }
  .firstview .img-wrap2 {
    max-width: 300px;
    bottom: 0;
    right: 10px;
  }
  .firstview .txt-wrap1 {
    bottom: 30%;
  }
  .firstview .txt-wrap1 .txt1 {
    font-size: 3rem;
  }
  .firstview .txt-wrap1 .txt1 span {
    font-size: 5rem;
  }
  .firstview .txt-wrap1 .txt2 span {
    font-size: 5rem;
  }
}


/* top-concept-sec */
.sec.top-concept-sec {
  padding: 18rem 0 10rem;
}
#particles {
  opacity: .2;
  position: absolute;
  bottom: 0;
  left: 50%;
  height: 100%;
  width: 100%;
}

.top-concept-sec .ttl1-en {
  top: 10%;
  left: 2%;
}
.top-concept-eles {
  max-width: 600px;
}
.top-concept-eles .txt1 {
  font-size: 3rem;
  font-weight: 600;
  margin-bottom: 0 !important;
}
.top-concept-eles .txt2 {
  font-size: 1.8rem;
}
@media screen and (max-width: 820px) {
  .sec.top-concept-sec {
    padding: 12rem 0 5rem;
  }
}
@media screen and (max-width: 767px) {
  .top-concept-eles .txt1 {
    font-size: 1.8rem;
  }
  .top-concept-eles .txt2 {
    font-size: 1.6rem;
  }
}


/* top-feature-sec */
.sec.top-feature-sec {
  padding: 10rem 0 5rem;
}
.top-feature-sec .ttl1-en {
  top: 10%;
  right: 2%;
}
.top-feature-eles .media-ele-wrap .txt1 {
  font-size: 3rem;
  font-weight: 600;
  text-align: center;
  margin-bottom: 5rem;
}
.top-feature-eles .media-ele-wrap .txt1 span {
  font-size: 3rem;
  font-weight: 600;
  color: #2734AC;
}
.ul-feature-triangle {
  position: relative;
  aspect-ratio: 1/1;
  width: 100%;
  max-width: 500px;
  height: 450px;
}
/* .ul-feature-triangle::before {
  position: absolute;
  content: "";
  background: url(../images/top/triangle.svg) no-repeat center / contain;
  width: 500px;
  height: 450px;
  top: 0;
  left: 0;
  z-index: 1;
  transform-origin: center bottom;
  animation: yurayura 10s infinite;
}
@keyframes yurayura {
  0% , 100%{
      transform: rotate(10deg) translate(-10px, 10px);
  }
  50%{
      transform: rotate(-10deg) translate(-10px, 10px);
  }
} */
.ul-feature-triangle li {
  position: absolute;
  text-align: center;
}
.ul-feature-triangle li:nth-child(1) {
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
.ul-feature-triangle li:nth-child(2) {
  bottom: 10px;
  left: 10px;
}
.ul-feature-triangle li:nth-child(3) {
  bottom: 10px;
  right: 10px;
}
.ul-feature-triangle li .txt-wrap {
  background: #fff;
  width: 250px;
  height: 250px;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 5px solid #fff;
  outline: 2px solid #fff;
  outline-offset: 3px;
  background: linear-gradient(45deg, #2734AC, #7d8aff, #2734AC, #7d8aff);
  background-size: 600% 600%;
  /* animation: GradientBackground 5s ease infinite; */
}
@keyframes GradientBackground {
  0% {
      background-position: 0% 50%;
  }
  50% {
      background-position: 100% 50%;
  }
  100% {
      background-position: 0% 50%;
  }
}
.ul-feature-triangle li .txt-wrap .en {
  color: #fff;
  position: relative;
}
.ul-feature-triangle li .txt-wrap .en::after {
  position: absolute;
  content: "";
  background: #fff;
  width: 20px;
  height: 2px;
  bottom: -5px;
  left: 50%;
  transform: translateX(-50%);
}
.ul-feature-triangle li .txt-wrap .ja {
  font-weight: 500;
  color: #fff;
}
.top-feature-eles .media-ele-wrap h3 {
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 2rem;
  color: #2734AC;
}
@media screen and (max-width: 820px) {
  .top-feature-eles .media {
    flex-wrap: nowrap;
  }
  .ul-feature-triangle {
    max-width: 430px;
    height: 370px;
  }
  .ul-feature-triangle::before {
    width: 430px;
    height: 370px;
  }
  .ul-feature-triangle li .txt-wrap {
    width: 200px;
    height: 200px;
  }
}
@media screen and (max-width: 767px) {
  .sec.top-feature-sec {
    padding: 5rem 0;
  }
  .top-feature-eles .media {
    flex-wrap: wrap;
  }
  .ul-feature-triangle {
    max-width: 320px;
    height: 285px;
  }
  .ul-feature-triangle::before {
    width: 320px;
    height: 285px;
  }
  .ul-feature-triangle li .txt-wrap {
    width: 160px;
    height: 160px;
    padding: 0 1rem;
  }
  .ul-feature-triangle li .txt-wrap .en {
    font-size: 1.4rem;
  }
  .top-feature-eles .media-ele-wrap .txt1 {
    font-size: 2rem;
    margin-bottom: 2rem;
  }
  .top-feature-eles .media-ele-wrap .txt1 span {
    font-size: 2rem;
  }
  .top-feature-eles .media-ele-wrap h3 {
    font-size: 1.8rem;
  }
}


/* top-company-sec */
.sec.top-company-sec {
  padding: 8rem 0 5rem;
}
.top-company-sec .ttl1-en {
  top: 5%;
  left: 2%;
}
@media screen and (max-width: 767px) {
  .sec.top-company-sec {
    padding: 8rem 0 5rem;
  }
}

/* top-news-sec */
.sec.top-news-sec {
  padding: 15rem 0 10rem;
}
.top-news-sec .ttl1-en {
  top: 5%;
  left: 2%;
}
@media screen and (max-width: 767px) {
  .sec.top-news-sec {
    padding: 8rem 0 5rem;
  }
}

/* top-recruit-sec */
.sec.top-recruit-sec {
  padding: 15rem 0 5rem;
}
.top-recruit-sec .ttl1-en {
  top: 5%;
  right: 2%;
}
@media screen and (max-width: 767px) {
  .sec.top-recruit-sec {
    padding: 8rem 0 5rem;
  }
}

/* top-contact-sec */
.sec.top-contact-sec {
  padding: 5rem 0;
  /* background: #2734AC; */
  border-bottom: 2px solid #2734AC;
  border-top: 2px solid #2734AC;
}
.top-contact-eles .media {
  justify-content: center;
}
/* .top-contact-eles .ttl-wrap {
  width: 30%;
} */
.top-contact-eles .ttl-wrap h2 {
  font-size: 3rem;
  /* color: #fff; */
}
/* .top-contact-eles .ttl-wrap p {
  color: #fff;
} */
.top-contact-eles .btn-wrap {
  /* width: 70%; */
  display: flex;
  align-items: center;
  /* justify-content: flex-end; */
  gap: 0 10rem;
}
.top-contact-eles .btn-wrap .btn-tel span {
  color: #fff;
}
.top-contact-eles .btn-wrap .btn-tel .num {
  position: relative;
  font-size: 3rem;
  line-height: 1.3;
  display: block;
  padding-left: 3rem;
}
.top-contact-eles .btn-wrap .btn-tel .num::before {
  background: #fff;
  content: "";
  aspect-ratio: 140/260;
  mask-image: url(../images/common/icon-tel.svg);
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  position: absolute;
  top: 0;
  left: 0;
  width: 18px;
}
.top-contact-eles .btn-wrap .btn-contact {
  position: relative;
  text-align: center;
  background: #fff;
  display: inline-block;
  padding: 1rem 2rem 1rem 6rem;
  border: 1px solid #2734AC;
}
.top-contact-eles .btn-wrap .btn-contact:hover {
  background: #2734AC;
  opacity: 1;
}
.top-contact-eles .btn-wrap .btn-contact::before {
  background: #2734AC;
  content: "";
  aspect-ratio: 277/210;
  mask-image: url(../images/common/icon-mail.svg);
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  position: absolute;
  top: 50%;
  left: 5%;
  transform: translateY(-50%);
  width: 30px;
}
.top-contact-eles .btn-wrap .btn-contact:hover::before {
  background: #fff;
}
.top-contact-eles .btn-wrap .btn-contact:hover .txt {
  color: #fff;
}
@media screen and (max-width: 820px) {
  .top-contact-eles .ttl-wrap {
    width: 100%;
    text-align: center;
  }
  .top-contact-eles .btn-wrap {
    width: 100%;
    justify-content: center;
  }
}
@media screen and (max-width: 767px) {
  .top-contact-eles .btn-wrap {
    display: block;
    text-align: center;
  }
  /* .top-contact-eles .btn-wrap .btn-contact {
    margin-top: 2rem;
  } */
}