@charset "UTF-8";
/* ====================================== */
/* Page-products */
.page-products .lower-mv {
  background: url(/assets/images/products/mv.webp) no-repeat center center/cover;
}

.products-capabilities .__wrapper {
  padding-bottom: 0;
}
.products-capabilities .__detail {
  margin: 0 auto;
  max-width: 108rem;
}
.products-capabilities .__head_box--detail::after {
  margin: 3rem auto;
  content: "";
  display: block;
  width: 1px;
  height: 6rem;
  background-color: var(--color-black);
}
.products-capabilities .__head_box--detail ._ttl {
  margin: 0 auto;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .products-capabilities .__head_box--detail ._desc {
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .products-capabilities .history_list {
    gap: 0;
  }
}
.products-capabilities .history_list .__list--cards_item {
  position: relative;
  display: block;
}
.products-capabilities .history_list .__list--cards_item ._arrow {
  position: absolute;
  top: 40%;
  right: 0;
  transform: scale(2.5) translate(20%, -50%);
  pointer-events: none;
  background-color: var(--color-blue-l);
}
@media screen and (max-width: 767px) {
  .products-capabilities .history_list .__list--cards_item ._arrow {
    margin: 2rem auto;
    position: static;
    transform: scale(1.8) rotate(90deg);
  }
}

.products-licence .__container {
  background-color: var(--color-gray);
  padding: 6rem;
}
@media screen and (max-width: 767px) {
  .products-licence .__container {
    padding: 6rem 3rem;
  }
}
.products-licence .__container .__head--balloon {
  margin-top: -8rem;
}
.products-licence .__container .licence_box {
  margin-top: 4.5rem;
}
.products-licence .__container .licence_box .__title {
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--color-blue);
}
.products-licence .__container .licence_box .__title::before {
  content: "● ";
}
.products-licence .__container .licence_box .licence_list {
  padding: 3rem;
}
@media screen and (max-width: 767px) {
  .products-licence .__container .licence_box .licence_list {
    padding: 1.5rem 0;
  }
}
.products-licence .__container .licence_box .licence_list .__fig {
  border: 1px solid #eee;
}
.products-licence .__container .licence_box .licence_list .__list--cards_item {
  padding: 3rem;
  background-color: #fff;
}
.products-licence .__container .licence_box .licence_list .__list--cards_item ._num {
  color: var(--color-black);
  font-size: 1.4rem;
  font-weight: normal;
  text-align: center;
}
.products-licence .__container .licence_box .licence_list .__list--cards_item ._ttl {
  margin-top: 1rem;
  text-align: center;
  line-height: 1.2;
}
.products-licence .__container .licence_box.--award .__list--cards_item {
  flex: 1;
}
@media screen and (min-width: 768px) {
  .products-licence .__container .licence_box.--award .__list--cards_item {
    align-items: center;
  }
}
@media screen and (max-width: 767px) {
  .products-licence .__container .licence_box.--award .__list--cards_item {
    gap: 0;
  }
}
@media screen and (min-width: 768px) {
  .products-licence .__container .licence_box.--award .__list--cards_item .__text_box {
    margin-right: 3rem;
  }
  .products-licence .__container .licence_box.--award .__list--cards_item .__text_box ._ttl {
    text-align: left;
  }
}

.products-original {
  border: 0.8rem solid var(--color-blue);
}
.products-original .op_slider .swiper-wrapper {
  transition-timing-function: linear !important;
}
.products-original .op_slider_item {
  overflow: hidden;
  border-radius: 1rem;
  background-color: var(--color-blue-ll);
}

.products-lab {
  background-color: var(--color-blue-ll);
}
@media screen and (min-width: 768px) {
  .products-lab .__desc_box {
    align-items: center;
  }
}
.products-lab .__desc_box .__fig.--corner::after {
  border-right-color: var(--color-blue-ll);
  border-bottom-color: var(--color-blue-ll);
}
.products-lab .__detail {
  margin-top: 20rem;
  padding: 6rem;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .products-lab .__detail {
    padding: 6rem 2rem;
  }
}
.products-lab .center_desc {
  position: relative;
  margin: 0 auto 6rem;
  margin-top: -18rem;
  padding: 6rem;
  align-items: flex-end;
  width: 90%;
  border: 1px solid var(--color-blue);
  background-color: #fff;
}
.products-lab .center_desc::before {
  position: absolute;
  top: 0;
  left: 50%;
  content: "";
  display: block;
  width: 1px;
  height: 6rem;
  background-color: var(--color-black);
  transform: translate(100%, -50%);
}
@media screen and (max-width: 767px) {
  .products-lab .center_desc {
    padding: 5rem 2.5rem;
    width: 95%;
    align-items: center;
    gap: 1.5rem;
  }
}
.products-lab .center_desc .__text_box ._ttl {
  padding: 0.8rem;
  width: fit-content;
  line-height: 1;
  color: #fff;
  background-color: var(--color-blue);
}
@media screen and (min-width: 768px) {
  .products-lab .center_desc .__text_box ._ttl {
    text-align: left;
  }
}
.products-lab .center_desc .__fig span {
  display: block;
  color: var(--color-blue);
  font-weight: bold;
  font-size: 1.4rem;
  text-align: center;
}
.products-lab .center_desc .__fig a {
  display: block;
}
@media screen and (min-width: 1025px) {
  .products-lab .center_desc .__fig a:hover {
    opacity: 0.8;
  }
}
@media screen and (max-width: 767px) {
  .products-lab .facility_list {
    flex-wrap: wrap;
    flex-direction: row;
    gap: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .products-lab .facility_list .__list--cards_item {
    width: calc(50% - 0.8rem);
  }
}
.products-lab .facility_list .__list--cards_item .__title {
  margin-top: 1rem;
  font-size: 1.6rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .products-lab .facility_list .__list--cards_item .__title {
    font-size: 1.4rem;
  }
}

/* ====================================== */
/* Page-original */
.page-products ._badge {
  position: absolute;
  top: 0;
  left: 0;
  padding: 0.8rem;
  display: block;
  width: fit-content;
  line-height: 1;
  color: #fff;
  font-size: 1.4rem;
  font-weight: bold;
  background-color: var(--color-blue);
}
.page-products ._badge.--on {
  color: var(--color-blue);
  background-color: var(--color-yellow);
}
.page-products ._badge.--off {
  color: var(--color-blue);
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  .page-products .__list--anchor_item {
    align-items: stretch;
    width: calc(33.3333333333% - 1rem);
  }
}
.page-products .__list--anchor_item a {
  padding: 3.5rem 1.5rem;
  position: relative;
  flex-direction: column;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .page-products .__list--anchor_item a {
    height: 100%;
  }
}
.page-products .__list--anchor_item a ._arrow {
  position: absolute;
  bottom: 1rem;
  left: 50%;
  transform: translate(-50%, 0);
}

.original-item .__wrapper {
  padding: 8rem 0 0;
}
@media screen and (max-width: 767px) {
  .original-item .__wrapper {
    padding: 6rem 0 0;
  }
}
.original-item:last-of-type {
  padding-bottom: 12rem;
}
@media screen and (max-width: 767px) {
  .original-item:last-of-type {
    padding-bottom: 9rem;
  }
}
.original-item .__head_box {
  padding: 1.5rem;
  justify-content: space-between;
  line-height: 1;
  background-color: var(--color-blue);
}
@media screen and (max-width: 767px) {
  .original-item .__head_box {
    flex-direction: row;
    align-items: flex-start;
    gap: 2rem;
  }
}
.original-item .__head_box .__title {
  color: #fff;
  text-align: left;
}
.original-item .__head_box ._badge {
  position: static;
  flex-shrink: 0;
  font-size: 1.6rem;
}
.original-item .__detail {
  padding: 0 3rem;
}
@media screen and (max-width: 767px) {
  .original-item .__detail {
    padding: 0 1.5rem;
  }
}
.original-item .item-performance {
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .original-item .item-performance {
    gap: 3rem;
  }
}
.original-item .item-performance .__fig {
  background-color: var(--color-blue-ll);
}
.original-item .item-performance .__text {
  margin-top: 0;
}
.original-item .item-performance .data_list {
  margin-top: 3rem;
}
.original-item .item-performance .data_list ._list_item {
  margin-top: 1.5rem;
}
.original-item .item-performance .data_list ._list_item ._ttl {
  position: relative;
  padding: 1.2rem;
  line-height: 1;
  font-size: 1.6rem;
  text-align: left;
  background-color: var(--color-blue-ll);
}
.original-item .item-performance .data_list ._list_item ._ttl::before {
  position: absolute;
  top: 50%;
  content: "";
  display: block;
  width: 0;
  height: 0;
  border: 2.1rem solid transparent;
  border-right-color: var(--color-blue-ll);
  transform: translate(-125%, -50%);
}
.original-item .item-performance .data_list ._list_item .__texts {
  padding: 1.5rem;
}
.original-item .item-performance .data_list ._list_item .__texts ._txt {
  margin-top: 0.5rem;
}
.original-item .item-example {
  margin-top: 3rem;
  padding: 3.5rem 1.5rem;
  border-top: 2px solid var(--color-blue);
  border-bottom: 2px solid var(--color-blue);
  gap: 3rem;
}
@media screen and (min-width: 768px) {
  .original-item .item-example {
    padding: 4.5rem 3rem;
    align-items: center;
    gap: 6rem;
  }
}
@media screen and (max-width: 767px) {
  .original-item .item-example ._ttl_box {
    text-align: center;
  }
}
.original-item .item-example ._ttl_box span {
  color: var(--color-blue);
  font-size: 2.8rem;
  font-weight: bold;
  font-family: var(--font-en);
}
.original-item .item-example .example_list {
  margin-top: 0;
}
.original-item .item-example .example_list .__list--cards_item .__title {
  margin-top: 1rem;
  text-align: center;
  font-size: 1.6rem;
}
.original-item .item-example .example_list .__list--cards_item .__title span {
  display: block;
  color: var(--color-blue);
  font-size: 1.3rem;
}
.original-item .item-voice {
  position: relative;
  margin-top: 5rem;
  padding: 3rem 12rem;
  background-color: var(--color-gray);
}
@media screen and (max-width: 767px) {
  .original-item .item-voice {
    margin-top: 3rem;
    padding: 5rem 3rem;
  }
}
.original-item .item-voice .__fig {
  position: absolute;
  top: 0;
  left: 0;
  width: 10rem;
  aspect-ratio: 1/1;
  border-radius: 100px;
  border: 1px solid #ddd;
  overflow: hidden;
  background-color: #fff;
  transform: translate(-15%, -15%);
}
@media screen and (max-width: 767px) {
  .original-item .item-voice .__fig {
    left: auto;
    right: 0;
  }
}
.original-item .item-voice .__text_box ._ttl {
  color: var(--color-black);
  font-size: 1.6rem;
  font-weight: normal;
  text-align: left;
}
.original-item .item-voice .__text_box ._ttl span {
  margin-right: 0.8rem;
  color: var(--color-blue);
  font-size: 2.8rem;
  font-weight: bold;
  font-family: var(--font-en);
}
.original-item .item-voice .__text_box ._txt {
  padding-left: 3rem;
  color: var(--color-blue);
  font-weight: normal;
  font-size: 1.5rem;
  border-left: 1px solid var(--color-blue);
}