/* LESS Document */
body {
  background: linear-gradient(to bottom, #D6EDFF 0px, #D6EDFF 756px, #D9D6FF 2119px, #D9D6FF 2119px, #E9BF7C 4187px, #E9BF7C 4187px, #1E1960 5383px);
}
main {
  overflow: hidden;
}
/*+++++++++++++++++++++++++++++++++++++++++++
	mv
+++++++++++++++++++++++++++++++++++++++++++ */
.mv_inner_text {
  max-width: 1376px;
  margin: 0 auto;
  position: absolute;
  top: 480px;
  left: 0;
  right: 0;
  z-index: 3;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .mv_inner_text {
    max-width: 500px;
    top: auto;
    bottom: 5vw;
  }
}
@media screen and (max-width: 767px) {
  .mv_inner_text p {
    max-width: 62vw;
    margin-bottom: 10px;
    padding: 0;
  }
}
.mv_inner_text p:nth-of-type(2) {
  transition-delay: 0.3s;
  padding-left: 24px;
}
@media screen and (max-width: 767px) {
  .mv_inner_text p:nth-of-type(2) {
    max-width: 72vw;
    padding: 0;
    margin: 0 auto 10px;
    text-align: center;
  }
}
.mv_inner_text p:nth-of-type(3) {
  transition-delay: 0.6s;
  padding-left: 48px;
}
@media screen and (max-width: 767px) {
  .mv_inner_text p:nth-of-type(3) {
    padding: 0;
    max-width: 80vw;
    margin-left: auto;
    text-align: right;
  }
}
/*+++++++++++++++++++++++++++++++++++++++++++
	hgroup
+++++++++++++++++++++++++++++++++++++++++++ */
hgroup {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: nowrap;
  gap: 0;
  flex-direction: column;
  line-height: 1.2;
}
hgroup h2 {
  order: 1;
  font-weight: 400;
}
hgroup p {
  font-family: 'Poppins', sans-serif;
  font-weight: bold;
}
/*+++++++++++++++++++++++++++++++++++++++++++
	section
+++++++++++++++++++++++++++++++++++++++++++ */
.section,
.section2,
.section3 {
  min-height: 420px;
  position: relative;
}
@media screen and (max-width: 1023px) {
  .section,
  .section2,
  .section3 {
    padding: 0 10px;
  }
}
.section .box,
.section2 .box,
.section3 .box {
  min-width: 1000px;
  width: calc(100vw - 380px);
  margin: 0 0 0 auto;
  padding: 50px;
  background: rgba(255, 255, 255, 0.6);
  border-radius: 30px 0 0 30px;
  backdrop-filter: blur(8px);
}
@media screen and (max-width: 1023px) {
  .section .box,
  .section2 .box,
  .section3 .box {
    width: 100%;
    min-width: 0;
    padding: 50px 30px 30px;
    border-radius: 30px;
  }
}
@media screen and (max-width: 767px) {
  .section .box,
  .section2 .box,
  .section3 .box {
    padding: 50px 10px 20px;
  }
}
.section::before,
.section2::before,
.section3::before {
  content: '';
  display: block;
  width: 725px;
  height: 425px;
  background: url(../img/bg_section1.webp) no-repeat center center / cover;
  position: absolute;
  bottom: 0;
  left: -130px;
  z-index: -1;
  pointer-events: none;
  transform-origin: center center;
  animation: swing 3s ease-in-out infinite alternate;
}
.section2 .box {
  width: calc(100vw - 320px);
  margin: 0 auto 0 0;
  border-radius: 0 30px 30px 0;
}
@media screen and (max-width: 1023px) {
  .section2 .box {
    width: 100%;
    border-radius: 30px;
  }
}
.section2::before {
  width: 587px;
  height: 648px;
  background-image: url(../img/bg_section2.webp);
  left: auto;
  right: -115px;
  bottom: 160px;
  animation: swing 4s ease-in-out infinite alternate;
  transform-origin: center 224px;
}
.section3 .box {
  width: calc(100vw - 335px);
}
@media screen and (max-width: 1023px) {
  .section3 .box {
    width: 100%;
    border-radius: 30px;
  }
}
.section3::before {
  bottom: -80px;
}
@media screen and (max-width: 767px) {
  .section3::before {
    width: 100vw;
    background-size: contain;
    top: -280px;
    bottom: auto;
    left: 0;
    right: auto;
  }
}
@keyframes swing {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(-30deg);
  }
}
/*+++++++++++++++++++++++++++++++++++++++++++
	infoArea
+++++++++++++++++++++++++++++++++++++++++++ */
.infoArea {
  margin-bottom: 200px;
}
@media screen and (max-width: 767px) {
  .infoArea {
    margin-bottom: 100px;
  }
}
@media screen and (max-width: 767px) {
  .infoArea .box {
    padding-top: 30px;
  }
}
@media screen and (max-width: 767px) {
  .infoArea .flex {
    gap: 10px;
  }
}
.infoArea .flex_left {
  min-width: 285px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .infoArea .flex_left {
    display: contents;
  }
}
.infoArea .flex_left hgroup {
  margin: 0 0 30px;
}
@media screen and (max-width: 767px) {
  .infoArea .flex_left hgroup {
    margin-bottom: 10px;
  }
}
.infoArea .flex_left hgroup h2 {
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .infoArea .flex_left hgroup h2 {
    font-size: 3.2vw;
  }
}
.infoArea .flex_left hgroup p {
  color: #4472C4;
  font-size: 3.2rem;
}
@media screen and (max-width: 767px) {
  .infoArea .flex_left hgroup p {
    font-size: 6.4vw;
  }
}
@media screen and (max-width: 767px) {
  .infoArea .flex_left .btn {
    order: 1;
    margin-top: 30px;
  }
}
.infoArea .flex_left .btn a {
  background-color: #4472C4;
  max-width: max-content;
  width: 100%;
  min-height: 26px;
  padding: 4px 30px;
  border-radius: 100px;
}
.infoArea .flex dl {
  flex: 1;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: nowrap;
  gap: 10px;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .infoArea .flex dl {
    flex-direction: column;
  }
}
.infoArea .flex dl dt {
  width: 120px;
  color: #4472C4;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .infoArea .flex dl dt {
    width: auto;
  }
}
.infoArea .flex dl dd {
  width: calc(100% - 130px);
}
@media screen and (max-width: 767px) {
  .infoArea .flex dl dd {
    width: 100%;
  }
}
.infoArea .flex dl dd a {
  text-decoration: none;
  color: #333;
}
.infoArea .flex dl dd a:hover {
  text-decoration: underline;
}
/*+++++++++++++++++++++++++++++++++++++++++++
	businessArea
+++++++++++++++++++++++++++++++++++++++++++ */
.businessArea {
  margin-bottom: 190px;
}
.businessArea hgroup {
  flex-direction: row;
  justify-content: flex-start;
  position: absolute;
  top: -94px;
  left: 0;
}
@media screen and (max-width: 1023px) {
  .businessArea hgroup {
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: center;
  }
}
@media screen and (max-width: 767px) {
  .businessArea hgroup {
    flex-direction: column;
    align-items: center;
    top: -8vw;
    right: 0;
  }
}
.businessArea hgroup h2 {
  padding: 50px 0 0;
  font-size: 3.6rem;
}
@media screen and (max-width: 1023px) {
  .businessArea hgroup h2 {
    padding-top: 0;
  }
}
@media screen and (max-width: 767px) {
  .businessArea hgroup h2 {
    padding: 0;
    font-size: 7.2vw;
  }
}
.businessArea hgroup p {
  color: #7C77CA;
  font-size: 13.8rem;
}
@media screen and (max-width: 767px) {
  .businessArea hgroup p {
    font-size: 13vw;
  }
}
.businessArea .box h3 {
  margin: 0 0 15px;
  font-size: 3.2rem;
}
@media screen and (max-width: 767px) {
  .businessArea .box h3 {
    font-size: 6.4vw;
    order: -2;
  }
}
.businessArea .flex {
  margin: 90px 0;
}
@media screen and (max-width: 767px) {
  .businessArea .flex {
    gap: 10px;
  }
}
@media screen and (max-width: 1023px) {
  .businessArea .flex .flexImg {
    width: 50%;
  }
}
@media screen and (max-width: 767px) {
  .businessArea .flex .flexImg {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .businessArea .flex .btn {
    text-align: center;
  }
}
.businessArea .flex .btn a {
  font-size: 2rem;
  font-weight: bold;
  background: #7C77CA;
}
@media screen and (max-width: 767px) {
  .businessArea .flex .btn a {
    font-size: 4vw;
  }
}
.businessArea_bg1,
.businessArea_bg2,
.businessArea_bg3 {
  position: absolute;
  top: -214px;
  right: -236px;
  pointer-events: none;
}
@media screen and (max-width: 1023px) {
  .businessArea_bg1,
  .businessArea_bg2,
  .businessArea_bg3 {
    right: 0;
  }
}
@media screen and (max-width: 767px) {
  .businessArea_bg1,
  .businessArea_bg2,
  .businessArea_bg3 {
    display: none;
  }
}
.businessArea_bg1 {
  animation: up-down 3.2s linear infinite alternate-reverse;
}
.businessArea_bg2 {
  top: 150px;
  right: -132px;
}
.businessArea_bg3 {
  top: 382px;
  right: -274px;
}
/*+++++++++++++++++++++++++++++++++++++++++++
	companyArea
+++++++++++++++++++++++++++++++++++++++++++ */
.companyArea {
  margin: 0 0 170px;
}
.companyArea hgroup {
  flex-direction: row;
  justify-content: flex-start;
  position: absolute;
  top: -94px;
  right: 0;
}
@media screen and (max-width: 1023px) {
  .companyArea hgroup {
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: center;
  }
}
@media screen and (max-width: 767px) {
  .companyArea hgroup {
    flex-direction: column;
    align-items: center;
    top: -8vw;
    left: 0;
  }
}
.companyArea hgroup h2 {
  padding: 50px 0 0;
  font-size: 3.6rem;
  order: -1;
}
@media screen and (max-width: 767px) {
  .companyArea hgroup h2 {
    padding: 0;
    font-size: 7.2vw;
    order: 1;
  }
}
.companyArea hgroup p {
  color: #CA8077;
  font-size: 13.8rem;
}
@media screen and (max-width: 767px) {
  .companyArea hgroup p {
    font-size: 13vw;
  }
}
.companyArea .columnBox {
  max-width: 926px;
  margin: 90px auto 40px 0;
}
@media screen and (max-width: 767px) {
  .companyArea .columnBox {
    margin: 15vw 0 0;
  }
}
.companyArea .columnBox .columnItem {
  text-align: center;
  text-decoration: none;
  font-size: 2.2rem;
  font-weight: bold;
  color: #333;
}
@media screen and (max-width: 767px) {
  .companyArea .columnBox .columnItem {
    margin-bottom: 30px;
    font-size: 4.4vw;
  }
}
.companyArea .columnBox .columnItem figure {
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .companyArea .columnBox .columnItem figure img {
    height: 40vw;
    border-radius: 20px;
    object-fit: cover;
    object-position: 0 0;
  }
}
@media screen and (max-width: 767px) {
  .companyArea .columnBox .columnItem figure img[alt="代表メッセージ"] {
    object-position: 0 -40px;
  }
}
@media screen and (max-width: 767px) {
  .companyArea .columnBox .columnItem figure img[alt="アクセス"] {
    object-position: 0 -120px;
  }
}
.companyArea_bg1,
.companyArea_bg2 {
  position: absolute;
  top: -76px;
  left: -270px;
  pointer-events: none;
}
@media screen and (max-width: 1023px) {
  .companyArea_bg1,
  .companyArea_bg2 {
    top: -218px;
    left: 0;
  }
}
@media screen and (max-width: 767px) {
  .companyArea_bg1,
  .companyArea_bg2 {
    display: none;
  }
}
.companyArea_bg1 {
  animation: up-down 4s linear infinite alternate;
}
.companyArea_bg2 {
  top: 200px;
  left: -132px;
}
/*+++++++++++++++++++++++++++++++++++++++++++
	recruitArea
+++++++++++++++++++++++++++++++++++++++++++ */
.recruitArea {
  margin: 0 auto 95px;
  padding: 0 10px;
  text-align: center;
}
/*+++++++++++++++++++++++++++++++++++++++++++
	groupArea
+++++++++++++++++++++++++++++++++++++++++++ */
.groupArea {
  padding: 0 10px 90px;
  border-bottom: rgba(255, 255, 255, 0.5) 2px solid;
}
.groupArea hgroup {
  max-width: max-content;
  margin: 0 auto 70px;
  text-align: center;
  color: #FFF;
  position: relative;
}
.groupArea hgroup h2 {
  font-size: 2.4rem;
}
@media screen and (max-width: 767px) {
  .groupArea hgroup h2 {
    font-size: 4.8vw;
  }
}
.groupArea hgroup p {
  font-size: 9.6rem;
}
@media screen and (max-width: 767px) {
  .groupArea hgroup p {
    font-size: 13vw;
  }
}
.groupArea hgroup::before,
.groupArea hgroup::after {
  content: '';
  display: block;
  width: 100%;
  height: 2px;
  background: rgba(255, 255, 255, 0.5);
  position: absolute;
  top: 60px;
  left: 840px;
}
.groupArea hgroup::after {
  left: auto;
  right: 840px;
}
.groupArea .columnBox .columnItem {
  min-height: 204px;
  padding: 40px 10px;
  border-radius: 5px;
  background: #FFF;
  text-align: center;
  text-decoration: none;
  font-size: 1.6rem;
  font-weight: bold;
  color: #333;
  box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.25);
  position: relative;
}
@media screen and (max-width: 767px) {
  .groupArea .columnBox .columnItem {
    width: 100%;
    max-width: 640px;
    margin: 0 auto 10px;
    font-size: 3.2vw;
  }
}
.groupArea .columnBox .columnItem:hover {
  background: rgba(255, 255, 255, 0.7);
}
.groupArea .columnBox .columnItem img {
  height: 64px;
  margin: 0 auto 15px;
  object-fit: contain;
  object-position: center center;
}
.groupArea .columnBox .columnItem i {
  display: block;
  margin: auto;
  font-size: 2rem;
  color: #4371C3;
  position: absolute;
  bottom: 10px;
  left: 0;
  right: 0;
}
@media screen and (max-width: 767px) {
  .groupArea .columnBox .columnItem i {
    font-size: 4vw;
  }
}
/*+++++++++++++++++++++++++++++++++++++++++++

+++++++++++++++++++++++++++++++++++++++++++ */
