@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500&display=swap');
html:has(.modal.is-active) {
  overflow: hidden;
}
body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
#page {
  flex: 1;
  display: flex;
}
main {
  width: 100%;
  flex: 1;
}

.main-contents {
  font-family: 'Noto Sans JP', sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: 16px;
  position: relative;
  overflow: hidden;
  height: 100%;
  min-width: 1240px;

  * {
    box-sizing: border-box;
  }

  &::before {
    content: '';
    position: absolute;
    bottom: calc(100% - 430px);
    left: 0;
    width: 100%;
    height: auto;
    aspect-ratio: 1440 / 379;
    /*background-image: url(/assets/aboutus/aminoscience/img/bg.png);*/
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: top;
    pointer-events: none;
  }
  .circle-container {
    position: relative;
    width: 50em;
    height: auto;
    aspect-ratio: 1/1;
    margin-inline: auto;
    opacity: 0;
    animation: fadeInRight 0.8s cubic-bezier(0, 0, 0.45, 1.07) forwards;

    .center-circle {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 22.5em;
      height: auto;
      aspect-ratio: 1/1;
      background-color: white;
      border: 1em solid #e60012;
      border-radius: 50%;
      display: flex;
      justify-content: center;
      align-items: center;
      z-index: 2;
      box-sizing: border-box;
    }
    .center-content {
      text-align: center;
      display: flex;
      flex-direction: column;
      align-items: center;
      row-gap: 2.4em;
    }
    .center-title {
      font-size: 2.1875em;
      color: #e60012;
      line-height: 0.9;
    }
    .center-title-main {
      letter-spacing: -0.06em;
      display: inline-block;
      margin-top: 0.5em;
    }
    .center-title-sub {
      font-size: 73%;
    }
    .center-logo {
      width: 33%;
      height: auto;
      margin-top: 1.0em;
    }
    .item {
      position: absolute;
      top: 50%;
      left: 50%;
      --width: 5.5em;
      width: var(--width);
      height: auto;
      aspect-ratio: 1/1;
      margin: calc(var(--width) / -2);
      --total: 16;
      --angle: calc(var(--i) * (360deg / var(--total)) - 90deg);
      --radius: 14.6875em;
      transform: rotate(var(--angle)) translate(var(--radius)) rotate(calc(-1 * var(--angle)));
      &:focus-visible {
        outline: 3px solid #e60a12;
        outline-offset: 2px;
        border-radius: 50%;
      }
    }
    .item-content {
      position: relative;
      width: 100%;
      height: 100%;
      background-color: white;
      border-radius: 50%;
      display: flex;
      justify-content: center;
      align-items: center;
      &::after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border: 1px solid #e60a12;
        box-sizing: border-box;
        border-radius: 50%;
        opacity: 0.8;
      }
      @media (hover: hover) {
        &:where(.item:hover *) {
          &::after {
            border: 10px solid #e60a12;
          }
        }
      }
    }
    .item-content img {
      width: 100%;
      height: auto;
      aspect-ratio: 1/1;
      border-radius: 50%;
    }
    .item-content span {
      position: absolute;
      width: max-content;
      top: auto;
      left: auto;
      right: auto;
      bottom: auto;
    }
    .item-01 {
      --i: 1;
      .item-content span {
        top: 0.5em;
        left: 5.7em;
        text-align: left;
      }
    }
    .item-02 {
      --i: 2;
      .item-content span {
        top: 0.1em;
        left: 6em;
        text-align: left;
      }
    }
    .item-03 {
      --i: 3;
      .item-content span {
        top: 1.2em;
        left: 6em;
        text-align: left;
      }
    }
    .item-04 {
      --i: 4;
      .item-content span {
        top: 50%;
        left: 6.2em;
        text-align: left;
        transform: translateY(-50%);
      }
    }
    .item-05 {
      --i: 5;
      .item-content span {
        top: 2em;
        left: 6em;
        text-align: left;
      }
    }
    .item-06 {
      --i: 6;
      .item-content span {
        top: 2.8em;
        left: 6em;
        text-align: left;
      }
    }
    .item-07 {
      --i: 7;
      .item-content span {
        top: 3.9em;
        left: 5.5em;
        text-align: left;
      }
    }
    .item-08 {
      --i: 8;
      .item-content span {
        top: 5.8em;
        text-align: center;
        left: 50%;
        transform: translateX(-50%);
      }
    }
    .item-09 {
      --i: 9;
      .item-content span {
        top: 4.6em;
        text-align: right;
        right: calc(100% + -0.6em);
      }
    }
    .item-10 {
      --i: 10;
      .item-content span {
        top: 3.4em;
        text-align: right;
        right: calc(100% + 0.4em);
      }
    }
    .item-11 {
      --i: 11;
      .item-content span {
        top: 2em;
        text-align: right;
        right: calc(100% + 0.6em);
      }
    }
    .item-12 {
      --i: 12;
      .item-content span {
        top: 50%;
        text-align: right;
        right: calc(100% + 0.8em);
        transform: translateY(-50%);
      }
    }
    .item-13 {
      --i: 13;
      .item-content span {
        top: 2em;
        text-align: right;
        right: calc(100% + 0.6em);
      }
    }
    .item-14 {
      --i: 14;
      .item-content span {
        top: 1.5em;
        text-align: right;
        right: calc(100% + 0.8em);
      }
    }
    .item-15 {
      --i: 15;
      .item-content span {
        top: -1em;
        text-align: right;
        right: calc(100% + 0.4em);
      }
    }
    .item-16 {
      --i: 16;
      .item-content span {
        top: -1.8em;
        left: 50%;
        text-align: center;
        transform: translateX(-50%);
      }
    }
  }

  /*====================================================
  MODAL
  ====================================================*/
  .modal {
    position: fixed;
    z-index: 100001;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.52);
    opacity: 0;
    visibility: hidden;
    cursor: pointer;
    pointer-events: none;
    text-align: left;

    &.is-active {
      animation: show 0.2s linear forwards;
      pointer-events: auto;
    }
    &.is-close {
      animation: close 0.2s linear forwards;
    }
    .modal__content {
      background: #fff;
      width: 100vw;
      height: 100%;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      cursor: auto;
    }
    .modal__container_wrap {
      overflow: auto;
      height: 100%;
    }
    .modal__container {
      height: auto;
      min-width: 1240px;
      background: linear-gradient(90deg, #fff 0%, #fff 50%, #ffece4 50%, #ffece4 100%);
      position: relative;
      min-height: 100vh;
      margin-inline: auto;

      &::before {
        content: '';
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        width: 1200px;
        height: 100%;
        background: linear-gradient(90deg, #fff 0%, #fff 38.4%, #ffece4 38.4%, #ffece4 100%);
      }
    }
    .modal__background_image {
      content: '';
      position: absolute;
      top: 10em;
      right: 0;
      width: 254px;
      height: auto;
      /*background-image: url(/assets/aboutus/aminoscience/img/modal_bg.png);*/
      background-repeat: no-repeat;
      aspect-ratio: 254/505;
    }
    .modal__close {
      position: absolute;
      top: 0;
      right: 0;
      width: 4.5em;
      height: auto;
      cursor: pointer;
      aspect-ratio: 1/1;
      background-image: url(/assets/aboutus/aminoscience/img/close.svg);/**/
      background-size: 1.2em;
      background-repeat: no-repeat;
      background-color: #e60a12;
      background-position: center;
      z-index: 1;
      &:focus-visible {
        outline: 3px solid #e60a12;
        outline-offset: 2px;
      }
    }
    .modal__container_inner {
      display: flex;
      justify-content: space-between;
      width: 1200px;
      margin-inline: auto;
      height: auto;
    }
    /* modal__navigation */
    .modal__navigation {
      width: 38.4%;
      padding: 5% 1%;
    }

    /* modal__navigation_title_slider */
    .modal__navigation_title_slider {
      margin-bottom: 1em;

      .splide__slide {
        font-size: 2.25em;
        padding-left: 0.5em;
        position: relative;
        &::before {
          content: '';
          position: absolute;
          top: 0.1em;
          left: 0;
          width: 0.16em;
          height: 1.2em;
          background-color: #e60a12;
          border-radius: 9999px;
        }
      }
    }

    /* modal__navigation_slider */
    .modal__navigation_slider {
      width: 49%;
      margin-inline: auto;

      &::after {
        content: '';
        position: absolute;
        display: block;
        width: 1px;
        height: 3.2em;
        background-color: transparent;
        top: 100%;
        left: 50%;
        transform: translateX(-50%);
        border-left: 1px dotted #e60a12;
        box-sizing: border-box;
      }
      img {
        width: 100%;
      }
      .splide__slide {
        border-radius: 50%;
        overflow: hidden;
        position: relative;
        &::before {
          content: '';
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          border: 9px solid #e60a12;
          border-radius: 50%;
          box-sizing: border-box;
        }
      }
      .splide__arrows {
        width: 100%;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
      }
      .splide__arrow {
        width: 23%;
        height: auto;
        aspect-ratio: 1 / 1;
        border-radius: 50%;
        border: none;
        background-color: #fff;
        border: 1px solid #e60a12;
        background-image: url(/assets/aboutus/aminoscience/img/arrow.svg);/**/
        background-size: 23%;
        background-repeat: no-repeat;
        background-position: center;
        position: absolute;
        top: 50%;
        cursor: pointer;
        touch-action: manipulation;
      }
      .splide__arrow--prev {
        right: calc(100% + 1.4em);
        transform: translateY(-50%) rotate(180deg);
      }
      .splide__arrow--next {
        left: calc(100% + 1.4em);
        transform: translateY(-50%);
      }
    }

    /* circle-container */
    .circle-container {
      font-size: 8.6px;
      width: 100%;
      height: auto;
      margin-inline: 0;
      aspect-ratio: 1 / 0.98;

      .item-content {
        &:where(.item.is-active *),
        &:where(.item:hover *) {
          &::after {
            border: 6px solid #e60a12;
          }
        }
        &:where(.item:hover *) {
          color: #333;
        }
      }
    }

    /* modal__main_slider */
    .modal__main_slider {
      width: 61.6%;
      .splide__slide {
        padding: 15% 5%;
        position: relative;
      }
      .splide__track {
        height: 100%;
      }
      .modal__main_slider_list {
        display: flex;
        flex-direction: column;
        row-gap: 4.2em;
      }
      .modal__main_slider_list_item {
        position: relative;
        &:has(.modal__main_slider_list_item_content--ability) {
          &::after {
            content: '';
            position: absolute;
            top: calc(100% + 1.6em);
            left: 50%;
            width: 3em;
            height: auto;
            background-color: #e60a12;
            clip-path: polygon(0 0, 50% 100%, 100% 0);
            transform: translateX(-50%);
            aspect-ratio: 1/0.4;
          }
        }
      }
      .modal__main_slider_list_item_title {
        font-size: 1.375em;
        color: #e60a12;
        text-align: center;
        text-decoration: underline;
        position: absolute;
        left: 50%;
        transform: translate(-50%, -65%);
        top: 0;
        text-underline-offset: 0.3em;
        width: 100%;
        &:has(+ .modal__main_slider_list_item_content--technology) {
          position: static;
          transform: none;
          margin-bottom: 0.8em;
          margin-top: -1.4em;
        }
      }
      .modal__main_slider_list_item_content {
        background-color: #fff;
        border-radius: 0.625em;
      }
      .modal__main_slider_list_item_content--ability {
        text-align: center;
        padding: 1.3em 1.6em;

        .modal__main_slider_list_item_content_text {
          font-size: 1.75em;
        }
      }
      .modal__main_slider_list_item_content--well-being {
        padding: 2.2em 1.6em;
        .modal__main_slider_list_item_content_text {
          font-size: 1.375em;
          margin-bottom: 0.8em;
        }
        .modal__main_slider_list_item_content_list {
          display: flex;
          justify-content: space-between;
        }
        .modal__main_slider_list_item_content_item {
          display: flex;
          flex-direction: column;
          align-items: flex-start;
          width: 47%;
        }
        .modal__main_slider_list_item_content_item_title {
          color: #e60b13;
          border: 1px solid #e60b13;
          font-size: 0.875em;
          padding: 0.1em 0.6em 0.1em 0.4em;
          border-top-right-radius: 9999px;
          border-bottom-right-radius: 9999px;
          position: relative;
          z-index: 2;
          background-color: #fff;
        }
        .modal__main_slider_list_item_content_item_text {
          font-size: 1.25em;
          background-color: #f8f8f8;
          width: 100%;
          margin-top: -0.3em;
          padding: 0.6em 1.4em;
          position: relative;
          &::before {
            content: '';
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            left: 0.6em;
            aspect-ratio: 7/11;
            width: 0.34em;
            height: auto;
            background-color: #e60a12;
            clip-path: polygon(0 0, 0% 100%, 100% 50%);
          }
        }
        .modal__main_slider_list_item_content_item_text_link {
          display: inline-block;
          &:focus-visible {
            outline: 3px solid #e60a12;
            outline-offset: 2px;
          }
        }
      }
      .modal__main_slider_list_item_content--technology {
        background-color: #f7ae86;
        padding: 1.2em 1.8em;
        .modal__main_slider_list_item_content_item_text {
          font-size: 1.125em;
        }
        + .modal__main_slider_list_item_content--technology {
          margin-top: 0.6em;
        }
      }
    }
  }
  @media only screen and (max-width: 1024px) {
    font-size: 4.26666667vw;
    min-width: 100%;
    &::before {
      bottom: calc(100% - 71vw);
    }

    .pc_display {
      display: none;
    }
    .circle-container {
      font-size: 2vw;
      width: 80%;
    }

    /*====================================================
    MODAL
    ====================================================*/
    .modal {
      .modal__navigation_slider {
        width: 52%;
        &::after {
          content: none;
        }
        .splide__slide {
          &::before {
            border-width: 1.33333333vw;
          }
        }
        .splide__arrow--prev {
          right: calc(100% + 8vw);
        }
        .splide__arrow--next {
          left: calc(100% + 8vw);
        }
      }
      .circle-container {
        font-size: 0.64vw;
        width: 22.6vw;
        position: absolute;
        top: 18.6vw;
        right: 1vw;
        .center-title {
          display: none;
        }
        .center-circle {
          padding: 0;
        }
        .center-logo {
          width: 65%;
        }
        .item-content {
          &::after {
            border: none;
            background-color: #e5e1e1;
            opacity: 1;
          }
          &:where(.item.is-active *) {
            &::after {
              border: none;
              background-color: #e60a12;
              opacity: 1;
            }
          }
          img {
            opacity: 0;
          }
        }
      }
      .modal__navigation {
        width: 100%;
        padding: 8vw 0;
      }
      .modal__close {
        width: 12.4vw;
        top: 0;
        background-size: 0.8em;
      }
      .modal__container_wrap {
        height: 100dvh;
      }
      .modal__container {
        min-width: 100%;
        background: none;
        &::before {
          content: none;
        }
      }
      .modal__container_inner {
        flex-direction: column;
        width: 100vw;
      }
      .modal__background_image {
        display: none;
      }
      .modal__navigation_title_slider {
        margin-bottom: 2.5em;
        .splide__slide {
          font-size: 6.4vw;
          padding-right: 4em;
        }
      }
      .modal__main_slider {
        width: 100%;
        background-color: #ffece4;
        z-index: 1;
        .splide__slide {
          padding: 13vw 4vw;
        }
        .modal__main_slider_list {
          row-gap: 14vw;
        }
        .modal__main_slider_list_item {
          &:has(.modal__main_slider_list_item_content--ability) {
            &::after {
              width: 9vw;
              top: calc(100% + 1.6vw);
            }
          }
        }
        .modal__main_slider_list_item_title {
          font-size: 4.8vw;
        }
        .modal__main_slider_list_item_content {
          border-radius: 2.66666667vw;
        }
        .modal__main_slider_list_item_content--ability {
          padding: 5vw;

          .modal__main_slider_list_item_content_text {
            font-size: 5.33333333vw;
          }
        }
        .modal__main_slider_list_item_content--well-being {
          padding: 7vw 5vw;
          .modal__main_slider_list_item_content_item_title {
            font-size: 3.2vw;
          }
          .modal__main_slider_list_item_content_item_text {
            font-size: 4.8vw;
          }
          .modal__main_slider_list_item_content_text {
            font-size: 5.33333333vw;
            margin-bottom: 0.4em;
          }
          .modal__main_slider_list_item_content_list {
            row-gap: 4vw;
            flex-direction: column;
          }
          .modal__main_slider_list_item_content_item {
            width: 100%;
          }
        }
        .modal__main_slider_list_item_content--technology {
          text-align: center;
          .modal__main_slider_list_item_content_item_text {
            font-size: 4.26666667vw;
          }
        }
      }
    }
  }
}

@keyframes show {
  from {
    opacity: 0;
    visibility: hidden;
  }
  to {
    opacity: 1;
    visibility: visible;
  }
}
@keyframes close {
  from {
    opacity: 1;
    visibility: visible;
  }
  to {
    opacity: 0;
    visibility: hidden;
  }
}
@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translateX(6em);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* 写真クリックガイドポップアップ */
.photo-guide__wrapper {
  min-width: 1240px;
  position: absolute;
  height: 100vh;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  width: 100%;
  pointer-events: none;
  &:has(.photo-guide.is-active) {
    pointer-events: auto;
  }
  @media screen and (max-width: 767px) {
    min-width: 100%;
  }
}
.photo-guide {
  position: absolute;
  top: 16em;
  left: 50%;
  transform: translateX(-50%);
  z-index: 9000;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;

  &.is-active {
    opacity: 1;
    visibility: visible;
  }
  .photo-guide__inner {
    background-color: #fff;
    border: 6px solid #e60012;
    padding: 5.8em 1em;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2);
    width: 360px;
  }
  .photo-guide__close {
    position: absolute;
    top: 0;
    right: 0;
    color: #fff;
    cursor: pointer;
    font-weight: bold;
    background-color: #e60012;
    width: 4.5em;
    height: auto;
    aspect-ratio: 1/1;
    display: flex;
    align-items: center;
    justify-content: center;
    background-image: url(/assets/aboutus/aminoscience/img/close.svg);/**/
    background-size: 1.2em;
    background-repeat: no-repeat;
    background-position: center;
  }
  .photo-guide__text {
    font-size: 1.625em;
    line-height: 1.5;
    margin: 0;
    text-align: center;
  }
  .photo-guide__text_em {
    color: #e60012;
  }
  @media screen and (max-width: 767px) {
    min-width: 62vw;
    top: 29vw;

    .photo-guide__inner {
      width: 100%;
      padding: 13vw 2vw;
    }
    .photo-guide__text {
      font-size: 4.26666667vw;
    }
    .photo-guide__close {
      width: 13vw;
      background-size: 4vw;
    }
  }
}






.c-heading-01 {
  display: none;
}
.main-contents {
  & .circle-container {
    height: 700px;
    a {
        color: #333;
    }
    a:hover .item-content img {
      opacity: 1;
    }
  }
}
@media screen and (min-width: 768px) {
  .container, .container--narrow {
    padding-left: 10px;
    padding-right: 10px;
  }
}
@media screen and (min-width: 926px) {
  .container, .container--narrow {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
}
@media screen and (max-width: 1024px) {
  .container, .container--narrow {
    padding-top: 20px;
  }
}
.sp-container .item-content img {
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 50%;
}

.photo-guide__note {
  display: block;
  margin: 0 auto;
  text-align: right;
  width: 55em;
}

.photo-guide__note span {
  display: inline-block;
  background: #F2F2F2;
  padding: 15px 20px;
}

.aboutus-buttons {
  margin-left: 5.5555555556vw;
  margin-right: 5.5555555556vw;
}


@media screen and (max-width: 1024px) {
  .photo-guide__note {
    margin-top: 20px;
    width: auto;
    font-size: 3.0vw;
  }
}
.sp-nav {
  display: none;
}
@media screen and (max-width: 1024px) {
  .sp-nav {
    position: relative;
    z-index: 1;
    margin-left: -5.5555555556vw;
    margin-right: -5.5555555556vw;
    display: block;
  }
  .sp-nav .sp-container a .arw{
    padding-right: 24px;
    background: url(/assets/img/ico_arrow_right_red.svg) no-repeat center right / .6em;
  }
}

.sp-nav .center-title {
  display: block;
  margin-top: 20px;
  background: #e60012;
  color: #fff;
  text-align: left;
  padding: 10px 5.5555555556vw;
}

.sp-nav .center-title .center-title-main {
  font-size: 1.6em;
}
.main-contents {
  min-width: 100%;
}
@media screen and (max-width: 430px) {
  .sp-container .item {
	flex: 0 0 100%;
  }
}
.main-contents .circle-container .center-content {
  row-gap: 1.2em;
}
.sp-container {
  display: flex;
  flex-wrap: wrap;
  padding-left: 5.5555555556vw;
  padding-right: 5.5555555556vw;
}
.sp-container .item {
flex: 0 0 50%;
  padding: 10px;
  color: #333;
}

@media screen and (max-width: 768px) {
  .sp-container .item {
	flex: 0 0 100%;
  }
}
.sp-container .item-content {
  display: flex;
  align-items: center;
  gap: 1.4em;
}
.sp-container .item-content img {
  border: solid 1px #f00;
  width: 5.5em;
}
.sp-container .item-content span {
text-align: left;
}
@media screen and (max-width: 1024px) {
  .main-contents {
    & .circle-container {
        height: auto;
        font-size: 2vw;
        width: 80%;
        .center-title-sub,
        .center-title-main,
        br {
          display:none;
        }
        .center-logo {
          width: 60%;
          height: auto;
          margin-top: 0;
        }
        .item-content span {
          display: none;
        }
    }
}