@charset "UTF-8";
/* ============================================ */
/* header
/* ============================================ */
@media screen and (min-width: 1201px) {
  #header .site-name {
    top: 25px;
    flex-direction: column;
    align-items: flex-start;
  }
  #header .site-name .logo-mark {
    width: 145px;
  }
}
/* ============================================ */
/* footer
/* ============================================ */
#footer {
  padding-top: 0;
}

/* ============================================ */
/* カテゴリー名サイズ設定
/* ============================================ */
/* ============================================ */
/* animal-objectサイズ設定
/* ============================================ */
/* ============================================ */
/* index
/* ============================================ */
#main {
  padding-top: 0;
  padding-bottom: 50px;
}

@media screen and (max-width: 1200px) {
  #main {
    padding-top: 70px;
  }
  #main::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    width: 100%;
    height: 70px;
    background: var(--color-lightbeige);
  }
}
@media screen and (max-width: 600px) {
  #main {
    padding-top: 55px;
  }
  #main::before {
    height: 55px;
  }
}
/* ===== top-view ===== */
#top-view {
  position: relative;
}
#top-view .slider {
  border-radius: 0 0 40px 40px;
  overflow: hidden;
}
#top-view .slider .item {
  width: 100%;
  height: 100svh;
  min-height: 700px;
}
#top-view .slider .img01::before {
  background-image: url(../img/index/top-view_img01.jpg);
}
#top-view .slider .img02::before {
  background-image: url(../img/index/top-view_img02.jpg);
}
#top-view .slider .img03::before {
  background-image: url(../img/index/top-view_img03.jpg);
}
#top-view .catch {
  position: absolute;
  right: 5%;
  bottom: 10%;
  width: 60%;
  max-width: 550px;
}
#top-view .catch .try-it {
  position: relative;
  display: block;
  z-index: 1;
  margin: 0 0 20px;
}
#top-view .catch .try-it svg {
  width: 100%;
  height: auto;
}
#top-view .catch .yasashisa {
  position: relative;
  z-index: 1;
}
#top-view .catch .yasashisa img {
  position: relative;
  display: block;
  width: 100%;
}
#top-view .catch .yasashisa .bar {
  position: absolute;
  left: 0;
  bottom: 0;
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.55);
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  filter: brightness(150%);
}

@media screen and (max-width: 1200px) {
  #top-view .slider .item {
    height: calc(100svh - 120px);
  }
}
@media screen and (max-width: 1024px) {
  #top-view .slider .item {
    height: 630px;
    min-height: auto;
  }
}
@media screen and (max-width: 768px) {
  #top-view .slider .item {
    height: 510px;
  }
}
@media screen and (max-width: 600px) {
  #top-view .slider .item {
    height: 305px;
  }
}
/* ===== intro ===== */
#intro {
  padding: 130px 0 450px;
}
#intro .flex-wrap {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
}
#intro .text {
  width: 50%;
  padding: 50px 0 0;
}
#intro .img {
  display: flex;
  flex-direction: column;
  gap: 60px;
  width: 40%;
}
#intro .img img {
  position: relative;
  border-radius: 30px;
}
#intro .img img:nth-of-type(1) {
  left: -10%;
  width: 100%;
}
#intro .img img:nth-of-type(2) {
  left: 5%;
  width: 80%;
  margin: 0 0 0 auto;
}
#intro .animal-object {
  left: 0;
  top: 100%;
  width: 325px;
  transform: translate(-45%, -10%);
}
#intro .sdgs {
  position: absolute;
  right: 0;
  top: calc(100% + 450px);
  display: flex;
  align-items: flex-start;
  gap: 3%;
  width: 890px;
  transform: translate(0, -75%);
}
#intro .sdgs .logo {
  width: 57%;
  margin: 30px 0 0;
}
#intro .sdgs .illust {
  width: 40%;
}

@media screen and (max-width: 1024px) {
  #intro {
    padding: 120px 0 35vw;
  }
  #intro .flex-wrap {
    flex-direction: column;
  }
  #intro .text {
    width: 100%;
    max-width: 560px;
    padding: 0;
  }
  #intro .img {
    gap: 40px;
    width: 100%;
  }
  #intro .img img {
    margin: 80px 0 0;
  }
  #intro .img img:nth-of-type(1) {
    left: 10%;
    width: 60%;
  }
  #intro .img img:nth-of-type(2) {
    left: 0;
    width: 55%;
    margin: 0 0 0 auto;
  }
  #intro .animal-object {
    transform: translate(-45%, -80%);
  }
  #intro .sdgs {
    width: 100%;
    top: calc(100% + 35vw);
  }
}
@media screen and (max-width: 768px) {
  #intro {
    padding: 80px 0 50px;
  }
  #intro .img {
    gap: 30px;
  }
  #intro .img img {
    margin: 50px 0 0;
  }
  #intro .img img:nth-of-type(1) {
    left: 0;
    width: 80%;
  }
  #intro .img img:nth-of-type(2) {
    left: 0;
    width: 65%;
    margin: 0 0 0 auto;
  }
  #intro .animal-object {
    top: calc(100% - (50px + 40vw));
    transform: translate(-45%, -50%);
  }
  #intro .sdgs {
    position: relative;
    inset: 0;
    transform: none;
    margin: 50px auto 0;
  }
}
@media screen and (max-width: 600px) {
  #intro {
    padding: 80px 0 100px;
  }
  #intro .animal-object {
    width: 227.5px;
  }
  #intro .animal-object {
    top: 100%;
    transform: translate(-45%, 0);
  }
  #intro .sdgs {
    flex-direction: column;
    align-items: center;
    gap: 20px;
    max-width: 360px;
  }
  #intro .sdgs .logo {
    width: 100%;
    margin: 0;
  }
  #intro .sdgs .illust {
    width: 80%;
  }
}
/* ===== animal-object ===== */
.animal-object {
  position: absolute;
  display: block;
}

/* ===== section共通 ===== */
.section {
  position: relative;
  width: 100%;
}
.section .section-title {
  margin: 0 0 50px;
}
.section .section-title .en,
.section .section-title .ja {
  display: block;
}
.section .section-title .en {
  margin: 0 0 20px;
}
.section .section-title .red {
  fill: var(--color-red);
}
.section .section-title .wh {
  fill: var(--color-white);
}
.section .section-text {
  font-weight: 500;
}

@media screen and (max-width: 768px) {
  .section .section-title {
    margin: 0 0 30px;
  }
  .section .section-title .en {
    margin: 0 0 15px;
  }
}
/* ===== company ===== */
#company {
  padding: 100px 0 140px;
}
#company .section-title .en {
  width: 154px;
}
#company .section-title .ja {
  width: 239px;
}
#company .flex-wrap {
  display: flex;
  gap: 60px;
}
#company .section-text {
  width: 340px;
  flex-shrink: 0;
}
#company .link-list {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
#company .link-list .item {
  width: 47%;
}
#company .link-list .item .link-img {
  width: 100%;
  height: auto;
  aspect-ratio: 32/17;
  border-radius: 20px;
}
#company .link-list .item .link-name {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 280px;
  margin: 0.5em 0 0;
  padding: 0 1em;
  font-weight: 500;
}
#company .link-list .about .link-img::before {
  background-image: url(../img/aboutus/about/index.jpg);
}
#company .link-list .numbers-keywords .link-img::before {
  background-image: url(../img/aboutus/numbers-keywords/index.jpg);
}
#company .animal-object:nth-of-type(1) {
  right: -100px;
  top: 15px;
  width: 210px;
  transform: translate(0, 0);
}
#company .animal-object:nth-of-type(2) {
  left: 0;
  bottom: -140px;
  width: 178px;
  transform: translate(0, 25%);
}

@media screen and (max-width: 1200px) {
  #company {
    padding: 100px 0 160px;
  }
  #company .flex-wrap {
    flex-direction: column;
    gap: 50px;
  }
  #company .section-text {
    width: 100%;
  }
  #company .animal-object:nth-of-type(1) {
    right: 0;
  }
  #company .animal-object:nth-of-type(2) {
    bottom: -160px;
    transform: translate(0, 25%);
  }
}
@media screen and (max-width: 1024px) {
  #company .animal-object:nth-of-type(2) {
    left: auto;
    right: 0;
    transform: translate(0, 80%);
  }
}
@media screen and (max-width: 768px) {
  #company {
    padding: 80px 0 100px;
  }
  #company .flex-wrap {
    gap: 30px;
  }
  #company .section-title .en {
    width: 107.8px;
  }
  #company .section-title .ja {
    width: 167.3px;
  }
  #company .link-list {
    flex-direction: column;
    gap: 20px;
  }
  #company .link-list .item {
    width: 100%;
  }
  #company .animal-object:nth-of-type(1) {
    top: -35px;
    transform: translate(20%, 0);
  }
  #company .animal-object:nth-of-type(2) {
    bottom: -100px;
  }
}
@media screen and (max-width: 600px) {
  #company .animal-object:nth-of-type(1) {
    top: -60px;
    width: 147px;
  }
  #company .animal-object:nth-of-type(2) {
    width: 124.6px;
  }
}
/* ===== work ===== */
#work .wrap {
  padding: 150px 0;
}
#work .section-title .en {
  width: 96px;
}
#work .section-title .ja {
  width: 239px;
}
#work .section-text {
  width: 340px;
  color: var(--color-white);
}
#work .link-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 40px 0 0;
}
#work .img {
  position: absolute;
  right: 0;
  top: 0;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  width: calc(100% - 250px - 340px - 70px);
  height: 100%;
  overflow: hidden;
}
#work .img .roll {
  width: 100%;
  height: 100%;
}
#work .img .roll.left .roll-wrap {
  -webkit-animation: roll-l 30s linear infinite;
          animation: roll-l 30s linear infinite;
}
#work .img .roll.right .roll-wrap {
  -webkit-animation: roll-r 30s linear infinite;
          animation: roll-r 30s linear infinite;
}
#work .img .item {
  display: block;
  width: 100%;
  padding: 10px 0;
}
#work .img .item img {
  border-radius: 20px;
}

@-webkit-keyframes roll-l {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-100%);
  }
}

@keyframes roll-l {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-100%);
  }
}
@-webkit-keyframes roll-r {
  from {
    transform: translateY(-100%);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes roll-r {
  from {
    transform: translateY(-100%);
  }
  to {
    transform: translateY(0);
  }
}
@media screen and (max-width: 1800px) {
  #work .out-wrap {
    border-radius: 0 40px 40px 0;
    overflow: hidden;
  }
  #work .img {
    right: -40px;
    width: calc(90% - 340px - 70px + 40px);
  }
}
@media screen and (max-width: 1024px) {
  #work {
    padding: 80px 0;
  }
  #work .out-wrap {
    border-radius: 0;
  }
  #work .wrap {
    padding: 0;
  }
  #work .section-text {
    width: 100%;
  }
  #work .img {
    position: relative;
    inset: 0;
    flex-direction: column;
    width: 100%;
    height: auto;
    margin: 50px 0 0;
  }
  #work .img .roll-wrap {
    display: flex;
  }
  #work .img .roll {
    display: flex;
    width: 100%;
    height: auto;
  }
  #work .img .item {
    width: 360px;
    padding: 0 10px;
  }
  @-webkit-keyframes roll-l {
    from {
      transform: translateX(0);
    }
    to {
      transform: translateX(-100%);
    }
  }
  @keyframes roll-l {
    from {
      transform: translateX(0);
    }
    to {
      transform: translateX(-100%);
    }
  }
  @-webkit-keyframes roll-r {
    from {
      transform: translateX(-100%);
    }
    to {
      transform: translateX(0);
    }
  }
  @keyframes roll-r {
    from {
      transform: translateX(-100%);
    }
    to {
      transform: translateX(0);
    }
  }
}
@media screen and (max-width: 768px) {
  #work {
    padding: 80px 0 50px;
  }
  #work .section-title .en {
    width: 67.2px;
  }
  #work .section-title .ja {
    width: 167.3px;
  }
  #work .img .item {
    width: 280px;
  }
}
/* ===== people ===== */
#people {
  padding: 140px 0 160px;
}
#people .flex-wrap {
  display: flex;
  align-items: flex-end;
  gap: 160px;
}
#people .section-title {
  margin: 0;
}
#people .section-title .en {
  width: 109px;
}
#people .section-title .ja {
  width: 192px;
}
#people .wrap:has(.people-list) {
  margin: 50px auto 0;
}
#people .list-bg {
  position: relative;
}
#people .list-bg .bg-wrap {
  position: absolute;
  top: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
  height: 100%;
}
#people .list-bg .bg-wrap.left {
  left: -83.5%;
  top: 150px;
  transform: scale(1, -1);
}
#people .list-bg .bg-wrap.center {
  left: 50%;
  transform: translate(-50%, 0);
}
#people .list-bg .bg-wrap.right {
  right: -83.5%;
  top: 150px;
  transform: scale(1, -1);
}
#people .list-bg .bg-wrap .bg-object {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: 33.3%;
}
#people .list-bg .bg-wrap .bg-object::before {
  content: "";
  display: block;
  width: 250px;
  height: auto;
  aspect-ratio: 1/1;
  background: var(--color-white);
  -webkit-clip-path: circle(47% at 50% 50%);
          clip-path: circle(47% at 50% 50%);
}
#people .people-list {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
#people .people-list.sp {
  display: none;
}
#people .people-list .item {
  width: 33.3%;
}
#people .animal-object {
  right: 0;
  bottom: 0;
  width: 221px;
  transform: translate(25%, 0);
}

@-webkit-keyframes roll-p {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}

@keyframes roll-p {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
@media screen and (max-width: 1400px) {
  #people {
    padding: 100px 0 0;
  }
  #people .list-bg .bg-wrap {
    display: none;
  }
  #people .wrap:has(.people-list) {
    width: 100%;
    max-width: none;
    overflow: hidden;
    padding: 0 0 200px;
  }
  #people .roll {
    display: flex;
    width: 100%;
  }
  #people .people-list {
    flex-wrap: nowrap;
    -webkit-animation: roll-p 25s linear infinite;
            animation: roll-p 25s linear infinite;
  }
  #people .people-list.sp {
    display: flex;
  }
  #people .people-list .item {
    padding: 0 50px;
  }
  #people .animal-object {
    transform: translate(0, 120%);
  }
}
@media screen and (max-width: 1024px) {
  #people .flex-wrap {
    gap: 50px;
  }
}
@media screen and (max-width: 768px) {
  #people .flex-wrap {
    flex-direction: column;
    align-items: flex-start;
    gap: 30px;
  }
  #people .section-title .en {
    width: 76.3px;
  }
  #people .section-title .ja {
    width: 134.4px;
  }
  #people .wrap:has(.people-list) {
    margin: 30px auto 0;
  }
}
@media screen and (max-width: 600px) {
  #people .animal-object {
    width: 154.7px;
  }
}
/* ===== environment ===== */
#environment .wrap {
  width: calc(100% - 80px);
  max-width: none;
  background: var(--color-white);
  border-radius: 30px;
  overflow: hidden;
}
#environment .flex-wrap {
  display: flex;
  align-items: center;
}
#environment .text-wrap {
  width: 45%;
  padding: 0 5%;
  order: 2;
}
#environment .section-title .en {
  width: 218px;
}
#environment .section-title .ja {
  width: 236px;
}
#environment .link-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 40px 0 0;
}
#environment .slider {
  width: 55%;
  height: 100%;
  background: rgba(204, 204, 204, 0.4392156863);
  order: 1;
}
#environment .slider::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: auto;
  height: 100%;
  aspect-ratio: 7/23;
  background: url(../img/index/environment_frame.svg) no-repeat right bottom;
  z-index: 1;
}
#environment .slider.slick-dotted.slick-slider {
  margin-bottom: 0;
}
#environment .slider .slick-dots {
  width: auto;
  right: 45px;
  top: 360px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  z-index: 2;
}
#environment .slider .slick-dots li {
  position: relative;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
}
#environment .slider .slick-dots li:nth-of-type(1) {
  right: 0;
}
#environment .slider .slick-dots li:nth-of-type(2) {
  right: 8px;
  top: 1px;
}
#environment .slider .slick-dots li:nth-of-type(3) {
  right: 20px;
  top: 1px;
}
#environment .slider .slick-dots li:nth-of-type(4) {
  right: 32px;
  top: 1px;
}
#environment .slider .slick-dots li:nth-of-type(5) {
  right: 47px;
}
#environment .slider .slick-dots li button {
  padding: 0;
  width: 10px;
  height: 10px;
  background: #d0d0d0;
  border-radius: 50%;
  transition: 0.3s;
}
#environment .slider .slick-dots li button::before {
  display: none;
}
#environment .slider .slick-dots li.slick-active button {
  background: var(--color-red);
}
#environment .slider .item {
  height: 460px;
}
#environment .slider .img01::before {
  background-image: url(../img/environment/support-training/slider01.jpg);
}
#environment .slider .img02::before {
  background-image: url(../img/environment/support-training/slider02.jpg);
}
#environment .slider .img03::before {
  background-image: url(../img/environment/support-training/slider03.jpg);
}
#environment .slider .img04::before {
  background-image: url(../img/environment/support-training/slider04.jpg);
}
#environment .slider .img05::before {
  background-image: url(../img/environment/support-training/slider05.jpg);
}
#environment .animal-object:nth-of-type(1) {
  left: 5%;
  top: 0;
  width: 352px;
  transform: translate(0, -90%);
}
#environment .animal-object:nth-of-type(2) {
  right: 5%;
  bottom: 0;
  width: 99px;
  transform: translate(0, 60%);
}

@media screen and (max-width: 1024px) {
  #environment .flex-wrap {
    flex-direction: column;
  }
  #environment .wrap {
    padding: 80px 0 0;
  }
  #environment .text-wrap {
    width: 100%;
    padding: 0 7.5%;
    order: 1;
  }
  #environment .slider {
    width: 100%;
    margin: 50px 0 0;
    order: 2;
  }
  #environment .slider::after {
    display: none;
  }
  #environment .slider .slick-dots {
    right: 50%;
    top: calc(100% - 25px);
    flex-direction: row;
    transform: translate(50%, 0);
  }
  #environment .slider .slick-dots li {
    inset: 0;
  }
}
@media screen and (max-width: 768px) {
  #environment .wrap {
    width: calc(100% - 40px);
    padding: 40px 0 0;
  }
  #environment .section-title .en {
    width: 152.6px;
  }
  #environment .section-title .ja {
    width: 165.2px;
  }
  #environment .slider .item {
    height: 360px;
  }
}
@media screen and (max-width: 600px) {
  #environment .slider .item {
    height: 240px;
  }
  #environment .animal-object:nth-of-type(1) {
    width: 246.4px;
  }
  #environment .animal-object:nth-of-type(2) {
    width: 69.3px;
  }
}
/* ===== recruit ===== */
#recruit {
  padding: 160px 0 200px;
}
#recruit .flex-wrap {
  display: flex;
  gap: 70px;
  padding: 0 40px 0 0;
}
#recruit .section-title .en {
  width: 124px;
}
#recruit .section-title .ja {
  width: 136px;
}
#recruit .link-list {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
#recruit .link-list .item {
  position: relative;
  width: 49%;
  border-radius: 20px;
  overflow: hidden;
}
#recruit .link-list .item .link-img {
  width: auto;
  height: 100%;
  aspect-ratio: 25/11;
}
#recruit .link-list .item .link-name {
  position: absolute;
  left: 0;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 100%;
  padding: 0 2.5em;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.5;
  font-weight: 500;
}
#recruit .link-list .item.message .link-img::before {
  background-image: url(../img/information/message/index.jpg);
}
#recruit .link-list .item.message .link-name {
  color: var(--color-white);
}
#recruit .link-list .item.message .link-name .icon-arrow {
  stroke: var(--color-white);
}
#recruit .link-list .item.requirements-flow-faq {
  border: solid 1px var(--color-black);
}
#recruit .animal-object {
  left: 0;
  bottom: -200px;
  width: 239px;
  transform: translate(-10%, 30%);
}

@media screen and (max-width: 1024px) {
  #recruit .link-list {
    flex-direction: column;
    gap: 20px;
  }
  #recruit .link-list .item {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  #recruit {
    padding: 80px 0 130px;
  }
  #recruit .flex-wrap {
    flex-direction: column;
    gap: 0;
    padding: 0 10% 0 0;
  }
  #recruit .section-title .en {
    width: 86.8px;
  }
  #recruit .section-title .ja {
    width: 95.2px;
  }
  #recruit .link-list .item .link-name {
    font-size: 16px;
    font-size: 1rem;
  }
  #recruit .animal-object {
    width: 215.1px;
    bottom: -130px;
  }
}
@media screen and (max-width: 600px) {
  #recruit .animal-object {
    width: 167.3px;
  }
}

/*# sourceMappingURL=index.css.map */