@charset "UTF-8";
/* ----------------------------------------
  初期設定
---------------------------------------- */
/* ---------------------------
  フォント
--------------------------- */
/* 日本語フォント */
/* ---------------------------
  カラー
--------------------------- */
/* ---------------------------
  ヘッダー高さ
--------------------------- */
/* ---------------------------
  レスポンシブ
--------------------------- */
/* ----------------------------------------
  TOPページ
---------------------------------------- */
/* ---------------------------
  メインビジュアル
--------------------------- */
.mv {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 78rem;
  background: #ffffff;
  margin-top: 12.4rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .mv {
    height: auto;
    margin-top: 9.6rem;
  }
}
.mv::before {
  content: "";
  position: absolute;
  background: url(../img/top_genome.png) no-repeat center center/cover;
  width: 39.8rem;
  height: 43.2rem;
  top: -12.4rem;
  left: 0;
  z-index: 90;
}
.mv__inner {
  max-width: 176rem;
  width: 100%;
  height: 100%;
  position: relative;
}
.mv__container {
  max-width: 148rem;
  width: 100%;
  height: 100%;
  position: relative;
  padding: 0 4rem;
}
@media screen and (max-width: 768px) {
  .mv__container {
    padding-bottom: 6rem;
    padding-left: 0;
    padding-right: 0;
  }
}
.mv__slide {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
}
.mv__contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  width: 100%;
  position: relative;
}
@media screen and (max-width: 768px) {
  .mv__contents {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 1.6rem;
  }
}
.mv__contents::after {
  content: "";
  position: absolute;
  background: url(../img/top_circle.png) no-repeat center center/cover;
  width: 85.4166666667%;
  width: 9.8rem;
  height: 10.4rem;
  left: 0;
  bottom: 5.8rem;
}
@media screen and (max-width: 768px) {
  .mv__contents::after {
    right: 10%;
    bottom: 15%;
    left: initial;
  }
}
.mv__img-wrapper {
  width: 80.6756756757%;
  height: 78rem;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .mv__img-wrapper {
    aspect-ratio: 1/1;
    margin: 0 auto;
    width: 85.4166666667%;
    height: auto;
  }
}
.mv__img {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  .mv__img {
    aspect-ratio: 1/1;
  }
}
.mv .swiper-slide-active .mv__img,
.mv .swiper-slide-duplicate-active .mv__img {
  -webkit-animation: scale 6s ease-in-out;
          animation: scale 6s ease-in-out;
}
.mv__swiper-pagination {
  width: 12.8rem !important;
  bottom: 25rem !important;
  left: 4rem !important;
}
@media screen and (max-width: 768px) {
  .mv__swiper-pagination {
    bottom: 0 !important;
  }
}
.mv .swiper-pagination-bullet {
  width: 3.2rem;
  height: 0.3rem;
  border-radius: 10px;
}
.mv .swiper-pagination-bullet {
  background: #D2CFDC;
}
.mv .swiper-pagination-bullet-active {
  background: #8636AA;
}
.mv__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4rem;
  position: absolute;
  content: "";
  left: 0;
  top: 19.6rem;
  z-index: 5;
}
@media screen and (max-width: 768px) {
  .mv__heading {
    gap: 2rem;
    position: initial;
  }
}
.mv__ttl {
  font-size: 3rem;
  font-weight: 500;
  line-height: 1.8333333333;
  letter-spacing: 0.6px;
  color: #2D1E48;
}
@media screen and (max-width: 768px) {
  .mv__ttl {
    font-size: 2.4rem;
    line-height: 1.5;
  }
}
.mv__lead {
  font-size: 1.9rem;
  font-weight: 400;
  line-height: 1.4736842105;
  letter-spacing: 0.38px;
  color: #2D1E48;
}
@media screen and (max-width: 768px) {
  .mv__lead {
    font-size: 1.6rem;
  }
}
.mv__scroll {
  position: absolute;
  bottom: 10.8rem;
  right: 6.3rem;
  font-size: 1.5rem;
  line-height: 1;
  letter-spacing: 0.17em;
  -webkit-writing-mode: vertical-lr;
      -ms-writing-mode: tb-lr;
          writing-mode: vertical-lr;
  z-index: 1;
  visibility: visible;
  opacity: 1;
  -webkit-transition: all, opacity 1.7s 2.15s;
  transition: all, opacity 1.7s 2.15s;
}
@media screen and (max-width: 768px) {
  .mv__scroll {
    bottom: 34rem;
    right: 0rem;
  }
}
.mv__scroll::after {
  content: "";
  position: absolute;
  top: -0.8rem;
  left: -8px;
  width: 1px;
  height: 16rem;
  background-color: #2D1E48;
  -webkit-animation: scrolldown 2s cubic-bezier(1, 0.2, 0.4, 1) infinite;
          animation: scrolldown 2s cubic-bezier(1, 0.2, 0.4, 1) infinite;
}
.mv__scroll span {
  width: 1.6rem;
  height: 4.4rem;
  display: block;
}
.mv__scroll span img {
  -o-object-fit: contain;
     object-fit: contain;
}

@-webkit-keyframes scale {
  0% {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
    opacity: 0.5;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}

@keyframes scale {
  0% {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
    opacity: 0.5;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}
@-webkit-keyframes scrolldown {
  0% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  50% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  51% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
  100% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
}
@keyframes scrolldown {
  0% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  50% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  51% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
  100% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
}
/* ---------------------------
  私たちについて
--------------------------- */
.about__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  gap: 2rem;
}
@media screen and (max-width: 768px) {
  .about__container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4.8rem;
  }
}
.about__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4.8rem;
  width: 47.4545454545%;
}
@media screen and (max-width: 768px) {
  .about__content {
    width: 100%;
  }
}
.about__img {
  width: 46.1818181818%;
  aspect-ratio: 508/456;
}
@media screen and (max-width: 768px) {
  .about__img {
    width: 70%;
  }
}
.about__links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 2rem;
}
@media screen and (max-width: 1100px) {
  .about__links {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
@media screen and (max-width: 768px) {
  .about__links {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.about__link-btn a {
  width: 25rem;
}

/* ---------------------------
  フロー図
--------------------------- */
.flow {
  background: url(../img/bg_genome.jpg) no-repeat center center/cover;
}
.flow__inner {
  position: relative;
}
.flow__inner::before {
  content: "";
  position: absolute;
  background: url(../img/deco_genome.png) no-repeat center center/cover;
  max-width: 50.6rem;
  max-height: 56.2rem;
  width: 26.3541666667vw;
  height: 29.2708333333vw;
  right: 2.8125vw;
  top: 2.7604166667vw;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
}
@media screen and (max-width: 768px) {
  .flow__inner::before {
    max-width: 30rem;
    max-height: 33.3rem;
    width: 48vw;
    height: 53.3333333333vw;
    right: 0;
    top: 0vw;
  }
}
.flow__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  gap: 2rem;
  padding: 0 2.5rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .flow__container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4rem;
    padding: 0;
  }
}
.flow__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.6rem;
  width: 43.8095238095%;
}
@media screen and (max-width: 768px) {
  .flow__content {
    width: 100%;
  }
}
.flow__img {
  width: 48.5714285714%;
  aspect-ratio: 510/524;
}
@media screen and (max-width: 768px) {
  .flow__img {
    max-width: 45rem;
    width: 100%;
  }
}
.flow__ttl {
  font-size: 2.2rem;
  color: #3F0B5B;
  font-weight: 500;
  line-height: 1.6818181818;
  letter-spacing: 0.44px;
}
@media screen and (max-width: 768px) {
  .flow__ttl {
    font-size: 2rem;
  }
}
.flow__lists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
  width: 39rem;
}
@media screen and (max-width: 768px) {
  .flow__lists {
    width: 100%;
  }
}
.flow__list {
  font-size: 1.7rem;
  line-height: 1.6470588235;
  letter-spacing: 0.34px;
  color: #2A1535;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.5rem;
  padding: 2.9rem 2rem;
  background: #ECE0EF;
}
@media screen and (max-width: 768px) {
  .flow__list {
    font-size: 1.4rem;
  }
}
.flow__list span {
  display: block;
  width: 3.8rem;
  height: 3.8rem;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 768px) {
  .flow__list span {
    width: 2.8rem;
    height: 2.8rem;
  }
}

/* ---------------------------
  会社概要
--------------------------- */
.company-1__inner {
  position: relative;
}
.company-1__inner::before {
  content: "";
  position: absolute;
  background: url(../img/deco_genome.png) no-repeat center center/cover;
  max-width: 50.6rem;
  max-height: 56.2rem;
  width: 26.3541666667vw;
  height: 29.2708333333vw;
  left: 2.65625vw;
  top: 4.84375vw;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .company-1__inner::before {
    max-width: 30rem;
    max-height: 33.3rem;
    width: 48vw;
    height: 53.3333333333vw;
    top: -16vw;
    left: -5.3333333333vw;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.company-1__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  gap: 2rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .company-1__container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4rem;
    padding: 0;
  }
}
.company-1 .ttl {
  gap: 0.6rem;
}
.company-1 .ttl__en {
  height: 7rem;
}
.company-1__contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 6.4rem;
  width: 47.4545454545%;
}
@media screen and (max-width: 768px) {
  .company-1__contents {
    width: 100%;
  }
}
.company-1__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3.2rem;
}
.company-1__img {
  width: 46.1818181818%;
  aspect-ratio: 508/456;
}
@media screen and (max-width: 768px) {
  .company-1__img {
    max-width: 45rem;
    width: 70%;
  }
}
.company-1__ttl {
  font-size: 2.2rem;
  color: #3F0B5B;
  font-weight: 500;
  line-height: 1.6818181818;
  letter-spacing: 0.44px;
}
@media screen and (max-width: 768px) {
  .company-1__ttl {
    font-size: 2rem;
  }
}
.company-1__lists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.company-1 .history .company-1__lists {
  gap: 2.4rem;
  position: relative;
}
.company-1 .history .company-1__lists::before {
  content: "";
  position: absolute;
  width: 1px;
  height: 100%;
  background: #A66ABF;
  left: 5.5rem;
  top: 0;
  z-index: -1;
}
.company-1 .history .company-1__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 1.2rem;
  padding: 1.3rem 1.8rem;
  background: #ECE0EF;
}
.company-1 .history .company-1__list dt {
  width: 8rem;
  color: #3F0B5B;
}
.company-1 .business .company-1__lists {
  margin-left: 2rem;
}
.company-1 .business .company-1__list {
  list-style: disc;
}

.company-2 {
  background: url(../img/bg_company_information.jpg) no-repeat center center/cover;
  padding-bottom: 18.6rem;
}
.company-2__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3.2rem;
  width: 100%;
  max-width: 44rem;
}
.company-2__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  letter-spacing: 0.32px;
  color: #ffffff;
  gap: 3rem;
  padding: 1.4rem 0;
  border-bottom: 1px solid #C79BCB;
}
.company-2__list:first-child {
  border-top: 1px solid #C79BCB;
}
.company-2__list dt {
  width: 8.2rem;
  padding: 0 0.8rem;
  font-weight: 500;
}

.company-3 {
  background: url(../img/bg_img_Mask_group.jpg) no-repeat center center/cover;
  padding-top: 0;
}
.company-3__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5.6rem;
  margin-top: -13rem;
}
.company-3__content {
  background: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 5.6rem 4.8rem;
  gap: 4.8rem;
  border-radius: 10px;
}
@media screen and (max-width: 768px) {
  .company-3__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 2.5rem;
  }
}
.company-3__content.slogan .company-3__heading {
  width: 51.7928286853%;
}
@media screen and (max-width: 768px) {
  .company-3__content.slogan .company-3__heading {
    width: 100%;
  }
}
.company-3__content.slogan .company-3__img {
  width: 43.4262948207%;
  aspect-ratio: 436/216;
}
@media screen and (max-width: 768px) {
  .company-3__content.slogan .company-3__img {
    width: 100%;
  }
}
.company-3__content.animal {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 768px) {
  .company-3__content.animal {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
.company-3__content.animal .company-3__heading {
  width: 58.1673306773%;
}
@media screen and (max-width: 768px) {
  .company-3__content.animal .company-3__heading {
    width: 100%;
  }
}
.company-3__content.animal .company-3__img {
  width: 37.0517928287%;
  height: auto;
  aspect-ratio: 372/248;
}
@media screen and (max-width: 768px) {
  .company-3__content.animal .company-3__img {
    width: 100%;
  }
}
.company-3__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3.2rem;
}
.company-3__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.4rem;
}
.company-3__lists {
  background: #F4EDF6;
  padding: 2.2rem 3.2rem 1rem;
}
@media screen and (max-width: 768px) {
  .company-3__lists {
    padding: 2.4rem;
  }
}
.company-3__list {
  color: #614571;
  letter-spacing: 0.32px;
  padding-bottom: 1.2rem;
}
.company-3__list:not(:first-child) {
  padding-top: 1.2rem;
}
.company-3__list:not(:last-child) {
  border-bottom: 1px solid #ffffff;
}
.company-3 .link-btn a {
  gap: 0.7rem;
}

.company-4__wrapper {
  gap: 4.8rem;
}
.company-4__img {
  width: 79.2rem;
  height: 34.2rem;
}
@media screen and (max-width: 768px) {
  .company-4__img {
    width: 100%;
    height: auto;
  }
}

/* ---------------------------
  サービス内容
--------------------------- */
.service {
  background: url(../img/bg_group.jpg) no-repeat center center/cover;
}
.service__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  gap: 2rem;
}
@media screen and (max-width: 768px) {
  .service__container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4rem;
  }
}
.service__sidebar {
  position: sticky;
  top: 10.4rem;
  left: 0;
}
@media screen and (max-width: 768px) {
  .service__sidebar {
    /* top: $sp-header; */
    position: initial;
  }
}
.service__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4.8rem;
}
@media screen and (max-width: 768px) {
  .service__heading {
    gap: 2.4rem;
  }
}
.service__sidebar-img {
  width: 24.2rem;
  height: 16.2rem;
}
@media screen and (max-width: 768px) {
  .service__sidebar-img {
    width: 70%;
    height: auto;
  }
}
.service__cards {
  width: 72.9090909091%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.4rem;
}
@media screen and (max-width: 768px) {
  .service__cards {
    width: 100%;
  }
}
.service__card {
  background: #ffffff;
  border-radius: 10px;
  width: 100%;
  padding: 4.8rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.5rem;
}
@media screen and (max-width: 768px) {
  .service__card {
    padding: 2.4rem;
  }
}
.service__ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 0.6rem;
  font-size: 2.1rem;
  font-weight: 500;
  letter-spacing: 0.42px;
  color: #7F2EA9;
  line-height: 1.1904761905;
}
@media screen and (max-width: 768px) {
  .service__ttl {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1.2rem;
  }
}
.service__ttl-no {
  width: 4.2rem;
  display: block;
}
.service__txt {
  letter-spacing: 0.32px;
}
.service__ex p {
  margin-top: 0.2rem;
}
.service__ex-ttl {
  position: relative;
  font-weight: 500;
  color: #7F2EA9;
  letter-spacing: 0.32px;
  margin-left: 1.3rem;
}
.service__ex-ttl::before {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  border-radius: 1px;
  background: #7F2EA9;
  left: -1.3rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.service__preparation {
  width: 25.8rem;
  height: 1.8rem;
}
.service .link-btn a {
  gap: 0.7rem;
}

/* ---------------------------
  お知らせ
--------------------------- */
.news {
  padding: 11.2rem 0;
}
.news__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  gap: 2rem;
}
@media screen and (max-width: 768px) {
  .news__container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4rem;
  }
}
.news__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 6rem;
}


@media screen and (max-width: 768px) {
  .news .btn.pc-only {
    display: none !important;
  }
}
.news__posts {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 76.3636363636%;
}
@media screen and (max-width: 768px) {
  .news__posts {
    width: 100%;
  }
}
.news__post {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 3.2rem;
  width: 100%;
  border-bottom: 1px solid #e8dbea;
  padding: 2.2rem 0.8rem;
  cursor: pointer;
}
.news__post__time {
  width: 8rem;
}
.news__post__ttl {
  width: 100%;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.news__post:hover {
  opacity: 0.7;
}

/* ---------------------------
  よくある質問
--------------------------- */
.faq {
  padding: 11.2rem 0;
  background: url(../img/bg_img_Mask_group.jpg) no-repeat center center/cover;
}
.faq__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  gap: 2rem;
}
@media screen and (max-width: 768px) {
  .faq__container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4rem;
  }
}
.faq .ttl {
  min-width: 16rem;
}
@media screen and (max-width: 768px) {
  .faq .ttl {
    width: 100%;
  }
}
.faq__lists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 2.4rem;
  width: 80.5454545455%;
}
@media screen and (max-width: 768px) {
  .faq__lists {
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.faq__list {
  color: #3F0B5B;
  letter-spacing: 0.32px;
}
.faq__list a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 1.6rem 2rem;
  width: 43.1rem;
  background: #ffffff;
  position: relative;
  border: 1px solid transparent;
  -o-border-image: linear-gradient(97deg, #7F2EA9 7.41%, #FBB3B3 88.36%);
     border-image: linear-gradient(97deg, #7F2EA9 7.41%, #FBB3B3 88.36%);
  border-image-slice: 1;
}
@media screen and (max-width: 768px) {
  .faq__list a {
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1rem;
    font-size: 1.4rem;
    letter-spacing: 0.28px;
    text-align: center;
  }
}
.faq__list a::before {
  content: "";
  position: absolute;
  right: 0.4rem;
  bottom: 0.4rem;
  width: 1.2rem;
  height: 1.5rem;
  background: url(../img/icon_triangle.png) no-repeat center center/cover;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.faq__list:hover a::before {
  right: 0.7rem;
  bottom: 0.7rem;
}
.faq__ttl {
  display: block;
  position: relative;
  margin-left: 2.6rem;
}
@media screen and (max-width: 768px) {
  .faq__ttl {
    margin-left: 0;
  }
}
.faq__ttl::before {
  content: "";
  position: absolute;
  width: 1.8rem;
  height: 2rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: -2.6rem;
  background: url(../img/top_circle.png) no-repeat center center/cover;
}
@media screen and (max-width: 768px) {
  .faq__ttl::before {
    display: none;
  }
}
.faq__pdf {
  width: 5.8rem;
  height: 2.2rem;
  display: block;
}
.faq__pdf img {
  -o-object-fit: contain;
     object-fit: contain;
}

/* ---------------------------
  お問い合わせ
--------------------------- */
input[type=text],
input[type=email],
input[type=tel],
select,
textarea {
  border-radius: 0;
  width: 100%;
  height: auto;
  padding: 12px 20px;
  font-size: 16px;
  line-height: 1.25;
  font-weight: 400;
  color: #000000;
  background: #ffffff;
  border: 1px solid #B8B8B8;
  outline: none;
}
input[type=text]:focus,
input[type=email]:focus,
input[type=tel]:focus,
select:focus,
textarea:focus {
  outline: 1px solid #7F2EA9;
}
input[type=text]::-webkit-input-placeholder, input[type=email]::-webkit-input-placeholder, input[type=tel]::-webkit-input-placeholder, select::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
  color: #bbb;
}
input[type=text]::-moz-placeholder, input[type=email]::-moz-placeholder, input[type=tel]::-moz-placeholder, select::-moz-placeholder, textarea::-moz-placeholder {
  color: #bbb;
}
input[type=text]:-ms-input-placeholder, input[type=email]:-ms-input-placeholder, input[type=tel]:-ms-input-placeholder, select:-ms-input-placeholder, textarea:-ms-input-placeholder {
  color: #bbb;
}
input[type=text]::-ms-input-placeholder, input[type=email]::-ms-input-placeholder, input[type=tel]::-ms-input-placeholder, select::-ms-input-placeholder, textarea::-ms-input-placeholder {
  color: #bbb;
}
input[type=text]::placeholder,
input[type=email]::placeholder,
input[type=tel]::placeholder,
select::placeholder,
textarea::placeholder {
  color: #bbb;
}

textarea {
  height: 20rem;
  resize: vertical;
}

/* select {
  appearance: none;
  cursor: pointer;
}

select option:hover {
  background: #5D67D2;
  color: $white;
  cursor: pointer;
} */
input[type=radio] {
  border: 1px solid #7F2EA9;
}

input[type=submit],
input[type=button] {
  border-radius: 0px;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
       appearance: button;
  border: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  cursor: pointer;
  background: transparent;
}

input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
  display: none;
}

.contact {
  /* &__select-wrap {
    position: relative;

    &::before {
      content: "";
      position: absolute;
      background: url(../img/arrow_down.png)no-repeat center center / cover;
      width: 0.9rem;
      height: 0.4rem;
      right: 1.6rem;
      top: 50%;
      transform: translateY(-50%);
    }
  } */
}
.contact__wrapper {
  max-width: 84rem;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 4.4rem;
}
.contact__container {
  gap: 3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
}
.contact__data-radio {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2.4rem;
}
.contact__data-radio span {
  position: relative;
  display: inline-block;
}
.contact__data-radio span::before {

}
.contact__data-radio span::after {

}
.wpcf7-list-item{
  margin:0!important;
}
.contact__data-radio input[type=radio]:checked + span::after {
  display: block;
}
.contact__br {
  width: 100%;
  height: 1px;
  background: #E8E8E8;
}
.contact__attention {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.6rem;
}
.contact__attention.small {
  color: #555;
  font-size: 1.4rem;
  letter-spacing: 0.28px;
}
.contact__attention li {
  list-style: auto;
  margin-left: 24px;
  list-style-type: disc;
}
.contact__attention a {
  color: #7F2EA9;
  text-decoration: underline;
}
.contact__attention-link {
  border-bottom: 1px solid #7F2EA9;
  color: #7F2EA9;
  display: inline-block;
}
.contact__attention-link a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-decoration: none;
}
.contact__external {
  width: 1.3rem;
  height: 1.3rem;
  display: block;
}
.contact__form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  max-width: 84rem;
}
.contact__list {
  width: 100%;
  display: grid;
  grid-template-columns: 31rem 1fr;
  -webkit-column-gap: 6rem;
     -moz-column-gap: 6rem;
          column-gap: 6rem;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding: 2rem 0.8rem;
  border-bottom: 1px solid #E8E8E8;
}
@media screen and (max-width: 768px) {
  .contact__list {
    grid-template-columns: 1fr;
    padding: 1.6rem 0.8rem;
    gap: 1.2rem;
  }
}
.contact__list dt {
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: 0.32px;
  padding-top: 1.2rem;
}
.contact__list:first-child {
  border-top: 1px solid #E8E8E8;
}
.contact__custom-select {
  position: relative;
  width: 100%;
  max-width: 44rem;
}
.contact__custom-select .selected {
  background: #ffffff;
  border: 1px solid #A66FC3;
  padding: 0.9rem 1.6rem;
  cursor: pointer;
  position: relative;
}
.contact__custom-select .selected::before {
  content: "";
  position: absolute;
  background: url(../img/arrow_down.png) no-repeat center center/cover;
  width: 0.9rem;
  height: 0.4rem;
  right: 1.6rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.contact__custom-select .select-options {

}
.contact__custom-select .select-options li {
  padding: 0 1.6rem;
  cursor: pointer;
  line-height: 1.75;
  letter-spacing: 0.64px;
}
.contact__custom-select .select-options li:hover {
  background: #7F2EA9;
  color: #ffffff;
}
.contact__btn {
  padding: 0.1rem 0.1rem;
  border-radius: 4rem;
  background: linear-gradient(97deg, #7F2EA9 7.41%, #FBB3B3 88.36%);
  text-align: center;
  position: relative;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  width: 218px;
  height: 67px;
  margin: 3rem auto;
}
.contact__btn input[type=submit] {
  display: inline-block;
  text-align: center;
  background: #ffffff;
  padding: 2.2rem 8rem;
  border-radius: 4rem;
  color: #3F0B5B;
  letter-spacing: 0.64px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.contact__btn::before {
  content: "";
  position: absolute;
  width: 0.4rem;
  height: 0.8rem;
  right: 2.4rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url(../img/icon_arrow.png) no-repeat center center/cover;
}
.contact__btn:hover {
  opacity: 0.8;
}
.contact__btn:hover input[type=submit] {
  background: linear-gradient(97deg, #7F2EA9 7.41%, #FBB3B3 88.36%);
  color: #ffffff;
}
.contact__btn:hover::before {
  background: url(../img/icon_arrow_white.png) no-repeat center center/cover;
}
.contact .required {
  color: #F54D3D;
  font-size: 1.4rem;
  margin-left: 0.5rem;
}
.contact #js-open {
  border-bottom: 1px solid #7F2EA9;
  color: #7F2EA9;
  font-size: 1.6rem;
  padding: 0;
}
.contact button {
  background: transparent;
  border: none;
  cursor: pointer;
}

/* ---------------------------
  プライバシーポリシー
  ポップアップ
--------------------------- */
.modal {
  max-width: 85rem;
  width: 100%;
  height: 81.3636363636%;
  padding: 5.6rem 1.6rem 5.6rem 5.6rem;
  background: #ffffff;
  position: fixed;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  display: none;
  z-index: 120;
}
.modal__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4rem;
  width: 100%;
  height: 100%;
  overflow-y: scroll;
  padding-right: 5.6rem;
  position: relative;
}
.modal ::-webkit-scrollbar {
  border-radius: 10px;
  width: 14px;
}
.modal ::-webkit-scrollbar-thumb {
  border-radius: 10px;
  padding: 4px;
  border: 4px solid #E1DBE4;
  background: #D8B9DE;
  background-clip: content-box;
}
.modal ::-webkit-scrollbar-track {
  border-radius: 10px;
  background: #E1DBE4;
}
.modal__policy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4rem;
  width: 100%;
}
.modal__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  gap: 1.8rem;
}
.modal__item-ttl {
  font-size: 1.7rem;
  color: #582274;
  font-weight: 500;
  line-height: 1.5294117647;
  letter-spacing: 0.34px;
  padding-bottom: 1.8rem;
  border-bottom: 1px solid #926CA5;
  width: 100%;
}
.modal__content {
  font-size: 1.5rem;
  letter-spacing: 0.3px;
}
.modal__content dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.4rem;
  margin-top: 1.8rem;
}
.modal button {
  padding: 0.1rem 0.1rem;
  border-radius: 4rem;
  background: linear-gradient(97deg, #7F2EA9 7.41%, #FBB3B3 88.36%);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
}
.modal .btn {
  text-align: center;
}

.modal-close {
  background: transparent;
  border-color: transparent;
  padding: 0;
  margin: 0;
  cursor: pointer;
  display: block;
  position: fixed;
  top: 2.4rem;
  right: 2.4rem;
  z-index: 150;
}
.modal-close span {
  display: block;
  width: 2.6rem;
  height: 3.5rem;
}

.overlay {
  position: fixed;
  width: 100%;
  height: 100%;
  opacity: 0.6;
  background: var(--000000, #000);
  z-index: 110;
  top: 0;
  left: 0;
  right: 0;
  display: none;
}

.overlay.open {
  display: block;
}

.modal.open {
  display: block;
}

/* ----------------------------------------
  遺伝子改変動物の作製サービス ページ
---------------------------------------- */
/* ---------------------------
  ページナビ
--------------------------- */
.pagenavi {
  padding-top: 4.8rem;
  padding-bottom: 0;
}
.pagenavi__container {
  width: 100%;
  max-width: 99.2rem;
}
.pagenavi__lists {
  background: #F8F6FA;
  padding: 1.2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2.4rem;
  border-radius: 40px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .pagenavi__lists {
    border-radius: 20px;
  }
}
.pagenavi__list {
  font-size: 1.4rem;
  letter-spacing: 0.28px;
  color: #6B408D;
  line-height: 1.7142857143;
}
.pagenavi__list a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.8rem;
}
.pagenavi__arrow {
  display: block;
  width: 1.8rem;
  height: 1.8rem;
}

/* ---------------------------
  ゲノム作業工程
--------------------------- */
.genome1__wrapper {
  gap: 5.5rem;
  max-width: 99.2rem;
}
.genome1__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  gap: 2.8rem;
}
.genome1__lists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.8rem;
  padding-left: 10rem;
  width: 100%;
  position: relative;
}
.genome1__lists::before {
  content: "";
  position: absolute;
  background: #E8D8F0;
  width: 0.8rem;
  height: 100%;
  top: 2rem;
  left: 7rem;
  z-index: -1;
}
.genome1__list {
  width: 100%;
  padding: 1rem 2rem;
  border-radius: 10px;
  border: 1px solid #DFCCE8;
  position: relative;
}
.genome1__list::before {
  content: "";
  position: absolute;
  width: 6.2rem;
  height: 2.6rem;
  left: -4rem;
  -webkit-transform: translate(-100%, 0);
          transform: translate(-100%, 0);
}
.genome1__list dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.3rem;
}
@media screen and (max-width: 768px) {
  .genome1__list dl {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.genome1__list dt {
  position: relative;
}
.genome1__list dt::before {
  content: "";
  position: absolute;
  background: url(../img/icon_circle.png) no-repeat center center/cover;
  width: 1.4rem;
  height: 1.4rem;
  top: 1.3rem;
  left: -4rem;
  -webkit-transform: translate(-100%, -50%);
          transform: translate(-100%, -50%);
  z-index: 1;
}
.genome1__list dd {
  letter-spacing: 0.32px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4rem;
  border-left: 1px solid #DFCCE8;
  padding-left: 1.6rem;
}
@media screen and (max-width: 768px) {
  .genome1__list dd {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 2rem;
    border-left: none;
    border-top: 1px solid #DFCCE8;
    padding-left: 0;
    padding-top: 1.6rem;
  }
}
.genome1__list ol {
  margin-left: 2rem;
}
.genome1__list ol li {
  list-style: decimal;
}
.genome1__list:nth-child(even) {
  background: #ffffff;
}
.genome1__list:nth-child(odd) {
  background: #FDF8FF;
}
.genome1__list:nth-child(2)::before {
  background: url(../img/2wks.png) no-repeat center center/cover;
}
.genome1__list:nth-child(3)::before {
  background: url(../img/4wks.png) no-repeat center center/cover;
}
.genome1__list:nth-child(4)::before {
  background: url(../img/2wks.png) no-repeat center center/cover;
}
.genome1__list:nth-child(5)::before {
  background: url(../img/6wks.png) no-repeat center center/cover;
}
.genome1__list:nth-child(6)::before {
  background: url(../img/2wks.png) no-repeat center center/cover;
}
.genome1__list:nth-child(7)::before {
  background: url(../img/9wks.png) no-repeat center center/cover;
}
.genome1__list:not(:last-child)::after {
  content: "";
  position: absolute;
  background: url(../img/icon_triangle_down.png) no-repeat center center/cover;
  width: 2.8rem;
  height: 1.2rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: -2rem;
}
.genome1__no {
  width: 3.4rem;
  height: 2.4rem;
  display: block;
}
.genome1__no img {
  -o-object-fit: contain;
     object-fit: contain;
}
.genome1__img4 {
  width: 12.6rem;
  height: 9.4rem;
}
@media screen and (max-width: 768px) {
  .genome1__img4 {
    width: 100%;
    height: auto;
  }
}
.genome1__img6 {
  width: 19.8rem;
  height: 9.4rem;
}
@media screen and (max-width: 768px) {
  .genome1__img6 {
    width: 100%;
    height: auto;
  }
}
.genome1__list-blocks {
  gap: 0 !important;
  -webkit-box-align: start !important;
      -ms-flex-align: start !important;
          align-items: flex-start !important;
}
@media screen and (max-width: 768px) {
  .genome1__list-blocks {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.genome1__list-block:nth-of-type(1) {
  width: 34.872417983%;
  padding-right: 1.6rem;
}
@media screen and (max-width: 768px) {
  .genome1__list-block:nth-of-type(1) {
    width: 100%;
    padding-bottom: 1.6rem;
  }
}
.genome1__list-block:nth-of-type(2) {
  width: 32.9283110571%;
  padding: 0 1.6rem;
  border-left: 1px solid #DFCCE8;
}
@media screen and (max-width: 768px) {
  .genome1__list-block:nth-of-type(2) {
    width: 100%;
    padding: 1.6rem 0;
    border-left: none;
    border-top: 1px solid #DFCCE8;
  }
}
.genome1__list-block:nth-of-type(3) {
  width: 29.6476306197%;
  padding: 0 1.6rem;
  border-left: 1px solid #DFCCE8;
}
@media screen and (max-width: 768px) {
  .genome1__list-block:nth-of-type(3) {
    width: 100%;
    padding: 1.6rem 0 0;
    border-left: none;
    border-top: 1px solid #DFCCE8;
  }
}
.genome1__img {
  width: 76.4rem;
  height: 17.8rem;
}
@media screen and (max-width: 768px) {
  .genome1__img {
    width: 100%;
    height: auto;
  }
}

/* ---------------------------
  ゲノム編集技術による作出サービス
--------------------------- */
.genome2 {
  background: url(../img/bg_group.jpg) no-repeat center center/cover;
  padding: 9.6rem 0;
}
.genome2__wrapper {
  gap: 5.5rem;
  max-width: 85.8rem;
}
.genome2__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4.8rem;
  width: 100%;
}
.genome2__lead {
  padding: 2.4rem 4.4rem;
  background: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
  letter-spacing: 0.32px;
}
@media screen and (max-width: 768px) {
  .genome2__lead {
    padding: 2.4rem;
  }
}
.genome2__content {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.2rem;
}
.genome2__content2 .genome2__item {
  width: 33.5664335664%;
}
@media screen and (max-width: 768px) {
  .genome2__content2 .genome2__item {
    width: 100%;
  }
}
.genome2__content3 {
  gap: 2.4rem;
}
.genome2__ttl {
  font-size: 1.9rem;
  font-weight: 500;
  letter-spacing: 0.38px;
  color: #ffffff;
  padding: 1.4rem 1.6rem;
  background: #8A3989;
  width: 100%;
}
.genome2__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.2rem;
}
@media screen and (max-width: 768px) {
  .genome2__items {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.genome2__item {
  border: 1px solid #BBA3C7;
  width: 32.1678321678%;
}
@media screen and (max-width: 768px) {
  .genome2__item {
    width: 100%;
  }
}
.genome2__item-ttl {
  font-size: 1.7rem;
  font-weight: 500;
  line-height: 1.6470588235;
  letter-spacing: 0.34px;
  padding: 1.5rem;
  background: #E4DCEC;
}
.genome2__list {
  margin-left: 2rem;
  padding: 1.6rem;
}
.genome2__list li {
  list-style: disc;
}
.genome2__list dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.3rem;
}
.genome2__list dt {
  width: 7rem;
}
.genome2__txt {
  padding: 0 1.6rem;
}
.genome2__img {
  width: 73.2rem;
  height: 35.2rem;
}
@media screen and (max-width: 768px) {
  .genome2__img {
    width: 100%;
    height: auto;
  }
}

/* ---------------------------
  トランスジェニック作製サービス
--------------------------- */
.genome3__wrapper {
  gap: 4.8rem;
}
.genome3__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4.8rem;
  max-width: 85.8rem;
  width: 100%;
  padding-bottom: 4.8rem;
  border-bottom: 1px solid #DFCCE8;
}
.genome3 p {
  letter-spacing: 0.32px;
}
.genome3__flow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  max-width: 52.2rem;
  gap: 2.8rem;
}
.genome3__item {
  border-radius: 10px;
  border: 1px solid #7F2EA9;
  padding: 0.8rem 0.8rem 1.8rem 0.8rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  gap: 1.8rem;
}
.genome3__item:not(:last-child) {
  position: relative;
}
.genome3__item:not(:last-child)::before {
  content: "";
  position: absolute;
  background: url(../img/icon_triangle_down.png) no-repeat center center/cover;
  width: 2.8rem;
  height: 1.2rem;
  bottom: -0.8rem;
  left: 50%;
  -webkit-transform: translate(-50%, 100%);
          transform: translate(-50%, 100%);
}
.genome3__item-ttl {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.3px;
  padding: 1.8rem;
  color: #ffffff;
  background: #8A3989;
  border-radius: 10px;
  text-align: center;
  display: block;
  width: 100%;
}
.genome3 img {
  -o-object-fit: contain;
     object-fit: contain;
}
.genome3__item-img1 {
  width: 44rem;
  height: 21rem;
}
@media screen and (max-width: 768px) {
  .genome3__item-img1 {
    width: 100%;
    height: auto;
  }
}
.genome3__item-img2 {
  width: 32.6rem;
  height: 16.5rem;
}
@media screen and (max-width: 768px) {
  .genome3__item-img2 {
    width: 100%;
    height: auto;
  }
}
.genome3__item-img3 {
  width: 46.2rem;
  height: 11.1rem;
}
@media screen and (max-width: 768px) {
  .genome3__item-img3 {
    width: 100%;
    height: auto;
  }
}
.genome3__table {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4.8rem;
}
.genome3__table1 {
  width: 68rem;
}
@media screen and (max-width: 768px) {
  .genome3__table1 {
    width: 100%;
  }
}
.genome3__table2, .genome3__table3 {
  width: 62.4rem;
}
@media screen and (max-width: 768px) {
  .genome3__table2, .genome3__table3 {
    width: 100%;
  }
}

/* ---------------------------
  single
--------------------------- */
.single .wrapper{
  align-items: start;
}
.single .news__heading{
  margin: 0 auto 50px;
  display: block;
  width: fit-content;
}

.single .page-mv__container{
  display: block;
}
.single .breadcrumbs{
  margin-bottom: 10px;
}
.single .single_date{
  margin: 3rem 0 2rem;

}
.single .single_tit{
  margin: 1rem 0 2rem;
  padding-bottom: 2rem;
  font-size: 2rem;
  border-bottom: 1px solid #ccc;
    width: 100%;
}

.single .foot_img{
  margin-top: 3rem;
}