@charset "UTF-8";
/*----------------------------------------
表示を切り替える幅
----------------------------------------*/
/*----------------------------------------
フォント
----------------------------------------*/
/*----------------------------------------
カラー
----------------------------------------*/
/*----------------------------------------
ブレークポイント
----------------------------------------*/
html {
  scroll-behavior: smooth;
}
body {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Sans", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Noto Sans JP", Meiryo, メイリオ, "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;
  font-size: 16px;
  line-height: 28px;
}
a {
  text-decoration: none;
  transition: 0.3s;
  color: #2C3E50;
}
img {
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
}
ul, ol {
  padding: 0;
}
.en {
  font-family: "Inter", "Arial", "Helvetica", "Noto Sans JP", sans-serif;
}
p {
  margin: 0;
  font-size: 16px;
  line-height: 28px;
  font-weight: 400;
}
.text_sub {
  font-size: 12px;
  line-height: 16px;
}
.text_right {
  text-align: right;
}
.text_bold {
  font-weight: 700;
}
.inner_1200 {
  width: calc(100% - 48px);
  max-width: 1200px;
  padding: 0 24px;
  margin: 0 auto;
}
.inner_640 {
  max-width: 640px;
  margin: 0 auto;
}
.en_text {
  display: none;
}
.btn a {
  width: 192px;
  background: #E3FD51;
  display: block;
  text-align: center;
  padding: 15px 24px;
  font-weight: 200;
  font-size: 16px;
  line-height: 18px;
  margin: 48px auto 0;
  font-family: "Montserrat", sans-serif;
  position: relative;
  transition: 0.3s;
}
.btn a:before {
  content: "";
  display: inline-block;
  position: absolute;
  background-repeat: no-repeat;
  background-image: url(../../media/images/common/icon_next.svg);
  background-size: contain;
  -webkit-background-size: contain;
  width: 5px;
  height: 9px;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
.btn a:hover {
  transition: 0.3s;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.4);
}
.head, .sp {
  display: none;
}
.preview {
  padding-top: 120px !important;
  padding-bottom: 120px !important;
}
.map iframe {
  display: block;
}
h2 {
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  font-size: 24px;
  line-height: 29px;
  margin: 0 0 29px;
}
.inner_1200 > h2 {
  margin-left: -8px;
  margin-bottom: 42px;
}
h3 {
  font-size: 20px;
  font-weight: 500;
  margin-bottom: 16px;
}
.bold_h3 {
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 16px;
}
h1.style_under {
  font-weight: 600;
  font-size: 24px;
}
.style_under {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Sans", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Noto Sans JP", Meiryo, メイリオ, "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;
  line-height: 35px;
  margin-bottom: 28px;
  position: relative;
}
.style_under:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  bottom: -5px;
  background: #809BB7;
}
.text_space p {
  margin-top: 16px;
}
.text_space p:first-child {
  margin-top: 0;
}
.circle {
  list-style: none;
  margin-left: 40px;
  margin-bottom: 0;
}
.circle li {
  padding-left: 20px;
  position: relative;
  margin-bottom: 8px;
}
.circle li:before {
  content: "●";
  position: absolute;
  left: 0;
  top: 0;
}
.circle li:last-child {
  margin-bottom: 0;
}
.pankuzu {
  margin: 0;
  padding: 0 24px;
  position: absolute;
  top: 78px;
  left: 0;
  z-index: 1;
  list-style: none;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  margin-left: -12px;
  font-size: 12px;
  line-height: 16px;
}
.pankuzu li:before {
  content: "/";
  color: #2C3E50;
}
.pankuzu li:first-child:before {
  display: none;
}
.pankuzu li a {
  padding: 0 12px;
}
.pankuzu li a.last {
  font-weight: 700;
}
@media screen and (max-width: 1150px) {
  .head {
    display: block;
  }
}
@media screen and (max-width: 768px) {
  body {
    font-size: 13px;
    line-height: 19px;
  }
  .sp {
    display: block;
  }
  .pc {
    display: none;
  }
  p {
    font-size: 13px;
    line-height: 19px;
  }
  .btn a {
    margin-top: 32px;
    font-size: 14px;
    padding-top: 7px;
    padding-bottom: 7px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  }
  .inner_1200 {
    padding: 0 16px;
    width: calc(100% - 56px);
  }
  .page_head .inner_1200 {
    width: calc(100% - 32px);
  }
  .pankuzu {
    padding: 0 16px;
    top: 72px;
  }
  h2, h1.style_under {
    font-size: 20px;
    line-height: 24px;
    margin: 0 0 16px;
  }
  .inner_1200 > h2 {
    margin-bottom: 32px;
  }
  h3, .bold_h3 {
    font-size: 16px;
    line-height: 24px;
    margin-bottom: 8px;
  }
  .text_sub {
    font-size: 10px;
    line-height: 14px;
  }
}
/****** news *******/
a[href="javascript:void(0);"] {
  pointer-events: none;
  /* クリックを無効化 */
  cursor: not-allowed;
  /* カーソルを禁止マークにする */
}
.news_list {
  padding-bottom: 56px;
  margin: 0;
  list-style: none;
}
.news_list li {
  margin-bottom: 4px;
}
.news_list li:last-child {
  margin-bottom: 0;
}
.news_list a {
  padding: 8px 28px;
  display: block;
  border-radius: 60px;
  transition: 0.3s;
}
.news_list a:hover {
  transition: 0.3s;
  background: #E3FD51;
}
.news_list .text {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.news_list .text .date {
  width: 112px;
  margin-right: 16px;
  font-family: "Inter", "Arial", "Helvetica", "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: 16px;
  line-height: 20px;
}
.news_list .text .category {
  width: 96px;
  margin-right: 16px;
  font-family: "Inter", "Arial", "Helvetica", "Noto Sans JP", sans-serif;
  font-size: 12px;
  line-height: 12px;
}
.news_list .text .news_title {
  width: calc(100% - 240px);
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  margin: 0;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.section {
  margin-bottom: 48px;
}
@media screen and (max-width: 768px) {
  .circle {
    margin-top: 16px;
  }
  .section {
    margin-bottom: 40px;
  }
  .news_list {
    padding-bottom: 32px;
  }
  .news_list a {
    padding: 0;
  }
  .news_list a:hover {
    background: transparent;
  }
  .news_list li {
    margin-bottom: 20px;
  }
  .news_list .text {
    flex-wrap: wrap;
  }
  .news_list .text .date {
    width: 96px;
    margin-right: 4px;
    font-size: 12px;
    line-height: 15px;
  }
  .news_list .text .category {
    width: 88px;
    margin-right: 0;
  }
  .news_list .text .news_title {
    width: 100%;
    margin-top: 2px;
    font-size: 13px;
    line-height: 19px;
  }
}
/****** 研究内容 *******/
.page_head {
  width: 100%;
  height: 320px;
  position: relative;
}
.page_head .bg_img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
.page_head .bg_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: right;
}
.page_head h1, .page_head .h1_style {
  position: relative;
  padding-top: 143px;
  letter-spacing: 6px;
  font-weight: 100;
  font-size: 32px;
  display: inline-block;
  margin: 0;
  font-family: "Inter", "Arial", "Helvetica", "Noto Sans JP", sans-serif;
}
.page_head .map {
  width: 100%;
  height: 545px;
  overflow: hidden;
  margin-top: 111px;
}
.page_head .map iframe {
  width: 100%;
  height: calc(100% + 300px);
  margin-top: -150px;
}
/***背景色の追加***/
.bg_auto .contents:nth-child(2n-1) {
  background: #F1F5F9;
}
.contents {
  padding: 64px 0;
}
.contents .topics {
  margin-top: 0;
}
.img_max {
  margin-top: 24px;
}
.img_max img {
  width: 100%;
  height: auto;
}
.flex_two {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
}
.flex_two__item {
  width: calc(50% - 12px);
  margin-top: 24px;
}
.flex_two__item img {
  width: 100%;
  height: auto;
}
.flex_three {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
}
.flex_three__item {
  width: calc(33.33% - 16px);
  margin-top: 24px;
  margin-right: 24px;
}
.flex_three__item:nth-child(3n) {
  margin-right: 0;
}
.flex_three__item img {
  width: 100%;
  height: auto;
}
.keyword {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 120px;
  /* 縦横の基本の隙間 */
  list-style: none;
  max-width: 800px;
  align-items: center;
  justify-content: center;
  margin: -40px auto 0;
}
.keyword li {
  background: #ffffff;
  padding: 16px 24px;
  border-radius: 60px;
  font-size: 18px;
  line-height: 26px;
  transition: 0.3s;
  animation: fuwafuwa 10s ease-in-out infinite;
  /* 2の倍数の要素：ちょっと早く動く、少し遅れてスタート */
  /* 3の倍数の要素：上にズラす */
  /* 5の倍数の要素：下にズラす */
  /* 7の倍数の要素：左右の余白を広げて隙間を作る */
}
.keyword li:nth-child(2n) {
  animation-delay: -1s;
  animation-direction: alternate;
  /* 動きを交互に反転 */
}
.keyword li:nth-child(3n) {
  transform: translateY(-10px);
  margin-top: 8px;
  animation-duration: 15s;
  animation-delay: -3s;
}
.keyword li:nth-child(5n) {
  transform: translateY(10px);
  margin-left: 100px;
  animation-duration: 5.5s;
  animation-delay: -4.5s;
  animation-direction: alternate-reverse;
  /* 逆再生からスタート */
}
.keyword li:nth-child(7n) {
  margin: 0 20px;
}
@keyframes fuwafuwa {
  0%, 100% {
    transform: translateY(0) translateX(0);
  }
  25% {
    /* 中間で少し右に寄りつつ*/
    transform: translateY(-4px) translateX(4px);
  }
  50% {
    /* 一番上まで浮いたとき、少し左に寄りつつ */
    transform: translateY(-16px) translateX(-5px);
  }
  75% {
    /* 下りながら少し右に戻る */
    transform: translateY(-5px) translateX(2px);
  }
}
@media screen and (max-width: 768px) {
  .keyword {
    gap: 16px 10px;
    /* 縦横の基本の隙間 */
    margin-top: 0;
  }
  .keyword li {
    font-size: 16px;
    line-height: 18px;
    padding: 12px 16px;
  }
  .keyword li:nth-child(5n) {
    margin-left: 20px;
  }
}
.loop-slider {
  overflow: hidden;
  width: 100%;
  background-color: #fff;
}
.loop-slider__wrap {
  display: flex;
  width: max-content;
}
.loop-slider__list {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
  gap: 0;
  padding-right: 0;
  animation: loop-perfect 40s infinite linear;
}
.loop-slider__list img {
  width: 320px;
  height: 200px;
  object-fit: cover;
  display: block;
}
@keyframes loop-perfect {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
#main .small_btn a {
  padding: 6px 30px;
  font-size: 12px;
  line-height: 14px;
  position: relative;
  transition: 0.3s;
  background-color: #DCE7F2;
  display: inline-block;
  margin-top: 16px;
}
#main .small_btn a:before {
  position: absolute;
  content: "";
  width: 4px;
  height: 8px;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url(../media/images/common/icon_next.svg);
}
#main .small_btn a:hover {
  transition: 0.3s;
  background-color: #E3FD51;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}
.btn .icon_back:before {
  right: 0;
  left: 12px;
  top: calc(50% - 4.5px);
  transform: rotate(180deg);
  transform-origin: center center;
}
a.icon_link, a.icon_mail {
  padding-right: 22px;
  position: relative;
}
a.icon_link:before, a.icon_mail:before {
  position: absolute;
  content: "";
  width: 16px;
  height: 16px;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  background-repeat: no-repeat;
  background-size: cover;
}
a.icon_link:before {
  background-image: url(../media/images/common/icon_link.svg);
}
a.icon_mail:before {
  background-image: url(../media/images/common/icon_mail.svg);
  height: 12px;
}
.topics {
  margin-top: 186px;
}
.topics .release_date {
  font-size: 14px;
  text-align: right;
  margin-bottom: 24px;
}
.topics .thumbnail {
  width: 100%;
  height: auto;
}
.topics .block-section h1.h1 {
  font-size: 1.5em;
}
.topics .block-section .block.images ul li {
  margin: 0;
}
.topics .block-section .block.images.wrap-1 ul li {
  margin: 20px 0;
}
.topics .block-section .block.buttons ul li a {
  border: none;
  min-width: 210px;
  text-align: center;
  background: #809BB7;
  font-weight: 300;
}
.topics.member ul, .topics.member ol {
  list-style: none;
  margin: 0;
}
.topics.member .flex_member {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
.topics.member .flex_member .thumbnail {
  width: 280px;
  height: auto;
  margin-right: 102px;
}
.topics.member .flex_member .thumbnail img {
  width: 100%;
}
.topics.member .flex_member .menber_right {
  width: calc(100% - 382px);
}
.topics.member .flex_member .menber_right .en {
  display: none;
}
.topics.member .flex_member .menber_right > h1 {
  margin: 0;
}
.topics.member .flex_member .menber_right .name {
  font-weight: 300;
}
.topics.member .flex_member .menber_right .name span {
  font-family: "Inter", "Arial", "Helvetica", "Noto Sans JP", sans-serif;
  font-size: 16px;
  line-height: 24px;
  display: block;
}
.topics.member .flex_member .menber_right .name span.jp {
  font-size: 20px;
  line-height: 28px;
  margin-bottom: 2px;
}
.topics.member .flex_member .menber_right .position {
  font-size: 14px;
  line-height: 28px;
  color: #809BB7;
}
.topics > .btn {
  margin: 80px auto 72px;
}
.topics .article_detail h2 {
  margin: 32px 0 24px;
  font-size: 16px;
  line-height: 24px;
  border-bottom: 1px solid #809BB7;
}
.topics .history {
  margin-top: 0;
}
.topics .history li {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
}
.topics .history li > span {
  width: 88px;
  margin-right: 10px;
}
.topics .history li > div {
  width: calc(100% - 98px);
}
.member_list {
  margin-top: 48px;
  margin-bottom: 160px;
  list-style: none;
  border-top: 1px solid #809BB7;
}
.member_list li {
  border-bottom: 1px solid #809BB7;
}
.member_list li a {
  padding: 16px 0;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  position: relative;
}
.member_list li a.text .text {
  padding-bottom: 0 !important;
  width: 100%;
}
.member_list li a.text .more_btn {
  display: none;
}
.member_list li a > .text {
  padding-bottom: 32px;
  width: calc(100% - 136px) !important;
}
.member_list li a .more_btn {
  position: absolute;
  left: 0;
  bottom: 16px;
  width: 56px;
  background: #DCE7F2;
  display: block;
  text-align: center;
  padding: 5px 32px;
  font-weight: 200;
  line-height: 15px;
  font-family: "Inter", "Arial", "Helvetica", "Noto Sans JP", sans-serif;
  transition: 0.3s;
  font-size: 12px;
}
.member_list li a .more_btn:before {
  content: "";
  display: inline-block;
  position: absolute;
  background-repeat: no-repeat;
  background-image: url(../../media/images/common/icon_next.svg);
  background-size: contain;
  -webkit-background-size: contain;
  width: 5px;
  height: 9px;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
.member_list li a .text .name {
  font-size: 20px;
  line-height: 28px;
}
.member_list li a .text .name_en {
  font-size: 16px;
  line-height: 20px;
  margin-top: 2px;
}
.member_list li a .text .position {
  font-size: 14px;
  line-height: 20px;
  margin-top: 6px;
  color: #809BB7;
}
.member_list li a .text .position .en {
  display: none;
}
.member_list li a:hover .image img {
  transform: scale(1.1);
  transition: 0.3s;
}
.member_list li a:hover .more_btn {
  background: #E3FD51;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}
.member_list li a .image {
  width: 128px;
  height: 0;
  padding-bottom: 128px;
  position: relative;
  overflow: hidden;
}
.member_list li a .image:not(:has(img)) {
  padding-bottom: 0;
  width: 0;
}
.member_list li a .image img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 0.3s;
}
.link_list {
  list-style: none;
  border-top: 1px solid #809BB7;
  margin-top: 0;
}
.link_list li {
  border-bottom: 1px solid #809BB7;
}
.link_list li > span {
  margin: 10px 16px;
  display: block;
  line-height: 22px;
}
.link_list li a {
  margin: 4px 0;
  display: block;
}
.link_list li a span {
  padding: 4px 16px;
  margin: 4px 0;
  border-radius: 100px;
  display: block;
}
.link_list li a img {
  margin-bottom: 6px;
  padding: 0 16px;
  max-width: calc(100% - 32px);
}
.link_list li a:hover span {
  background: #E3FD51;
}
.list_title {
  font-size: 16px;
  line-height: 24px;
  margin-top: 32px;
  font-weight: 700;
  margin-bottom: 0;
}
.flex_top {
  background: #E3FD51;
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  position: fixed;
  right: 0;
  bottom: 20px;
  z-index: 5;
  transition: 0.3s;
}
.flex_top:hover {
  opacity: 0.7;
  transition: 0.3s;
}
@media screen and (max-width: 768px) {
  .topics .release_date {
    font-size: 12px;
    margin-bottom: 16px;
  }
  .topics.member .flex_member {
    flex-wrap: wrap;
  }
  .topics.member .flex_member .thumbnail {
    text-align: center;
    width: 100%;
    margin: 0 0 24px 0;
  }
  .topics.member .flex_member .thumbnail img {
    max-width: 280px;
    width: 100%;
    height: auto;
  }
  .topics.member .flex_member .menber_right {
    width: 100%;
  }
  .topics > .btn {
    margin-top: 40px;
  }
  .topics .article_detail h2 {
    margin: 24px 0 16px;
  }
  .topics .history li {
    flex-wrap: wrap;
    margin-top: 4px;
  }
  .topics .history li > spna, .topics .history li > div {
    width: 100%;
    margin: 0;
  }
  .contents {
    padding: 32px 0 56px;
  }
  .page_head {
    height: 144px;
  }
  .page_head h1, .page_head .h1_style {
    padding-top: 101px;
    font-size: 24px;
    line-height: 29px;
  }
  .page_head .map {
    height: 375px;
    margin-top: 96px;
  }
  .member_list li a .text .name {
    font-size: 16px;
    line-height: 24px;
  }
  .member_list li a .text .name_en {
    font-size: 14px;
    line-height: 20px;
  }
  .member_list li a .text .position {
    font-size: 12px;
    line-height: 16px;
  }
  .loop-slider__list img {
    width: 200px;
    height: 125px;
  }
  .list_title {
    font-size: 14px;
    line-height: 20px;
    margin-top: 24px;
  }
  .flex_top {
    width: 48px;
    height: 48px;
  }
}
/*# sourceMappingURL=./common.css.map */