@charset "UTF-8";

/* ------------------------------------- base */
body {
  margin: 0;
  /*  overflow-x: hidden;*/
}

body {
  font-size: 14px;
}

a {
  text-decoration: none;
}

a:link,
a:visited {
  color: #111;
  text-decoration: none;
}

ul {
  padding-left: 0px;
}

li {
  list-style: none;
}

p {
  margin-top: 0px;
  line-height: 2.0;
}

h2 {
  font-size: 1.7rem;
  margin-bottom: 0px;
}

@media (max-width: 768px) {
  h2 {
    font-size: 1.3rem;
    margin-bottom: 5px;
  }
}


/* ------------------------------------- header */
.header__line {
  width: 100%;
  height: 10px;
  background-color: #f7764c;
}

@media (max-width: 768px) {
  .header__line {
    height: 5px;
  }
}

.header {
  border: 0px solid red;
  width: 100%;
  height: 172px;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 768px) {
  .header {
    height: 75px;
  }
}

@media (max-width: 768px) {
  .header__en {
    height: 85px;
  }
}

.header__inner {
  border: 0px solid red;
  width: 1160px;
  height: 100%;
}

@media (max-width: 768px) {
  .header__inner {
    width: 100%;
  }
}

.header__logo-wrap {
  width: 100%;
  height: 105px;
  display: flex;
  flex-direction: row;
}

@media (max-width: 768px) {
  .header__logo-wrap {
    height: 150px;
    flex-direction: column;
  }
}

.header__logo {
  border: 0px solid red;
  width: 50%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

@media (max-width: 768px) {
  .header__logo {
    width: 100%;
    padding: 20px 0px 15px 0px;
  }
}

.header_logo_pc_en {
  height: 90px !important;
  padding: 0px 0px 0px 5px;
}

.header_logo_pc {
  border: 0px solid red;
  height: 60px;
}

@media (max-width: 768px) {
  .header_logo_pc {
    width: 360px;
    display: none;
  }
}

.header_logo_sp {
  display: none;
}

@media (max-width: 768px) {
  .header_logo_sp {
    display: block;
    width: 300px;
    padding-left: 5px;
  }
}

.header_logo_sp_en {
  width: 280px !important;
  padding: 0px 0px 0px 5px;
}

.header__submenu-wrap {
  border: 0px solid red;
  width: 50%;
  height: 100%;
}

@media (max-width: 768px) {
  .header__submenu-wrap {
    display: none;
  }
}

.header__submenu {
  border: 0px solid red;
  width: 100%;
  height: 50%;
  /*	position: relative;*/
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.header__submenu>ul {
  border: 0px solid red;
  height: 55px;
  /*	position: absolute;
	top: 0;
	right: 0;*/
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
}

.header__submenu>ul>li {
  border: 0px solid red;
  width: 90px;
  height: 100%;
}

.header__submenu>ul>li>a {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ENGLISH */
.header__submenu>ul>li:nth-child(3) {
  background-color: #111;
}

.header__submenu>ul>li:nth-child(3)>a {
  color: #fff;
}

.header__search {
  border: 0px solid red;
  width: 100%;
  height: 50%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-direction: row;
}

.header__search>input {
  border-top: 1px solid #d6d6d6;
  border-left: 1px solid #d6d6d6;
  border-right: 0px solid #d6d6d6;
  border-bottom: 1px solid #d6d6d6;
  height: 30px;
}

.header__search>button {
  border-top: 1px solid #f0f0f0;
  border-left: 0px solid #f0f0f0;
  border-right: 0px solid #f0f0f0;
  border-bottom: 1px solid #f0f0f0;
  width: 55px;
  height: 34px;
  margin-left: 0px;
  position: relative;
}

.header__search>button::after {
  position: absolute;
  font-family: "FontAwesome";
  font-size: 20px;
  content: "\f002";
  top: 10px;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 30px;
  height: 30px;
}


/* -------------------- nav */
.gnav__menu {
  border: 0px solid red;
  width: 100%;
  height: 65px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
}

.gnav__menu>ul {
  height: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-direction: row;
}

@media (max-width: 768px) {
  .gnav__menu>ul {
    flex-direction: column;
  }
}

.gnav__menu>ul>li {
  width: 100%;
  height: 65px;
  border-left: 1px solid #d7d7d7;
  display: flex;
  /*	align-items: center;*/
  justify-content: center;
  flex-direction: column;
}

@media (max-width: 768px) {
  .gnav__menu>ul>li {
    width: 100%;
    border-left: 0px solid #d7d7d7;
    border-top: 0px solid #fff;
  }
}

.gnav__menu>ul>li:nth-child(5) {
  border-right: 1px solid #d7d7d7;
}

@media (max-width: 768px) {
  .gnav__menu>ul>li:nth-child(5) {
    border-right: 0px solid #d7d7d7;
  }
}

.gnav__menu>ul>li>a {
  border: 0px solid red;
  width: 100%;
  height: 99%;
  text-align: center;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: column;
  padding-top: 15px;
}

@media (max-width: 768px) {
  .gnav__menu>ul>li>a {
    align-items: flex-start;
    justify-content: center;
    padding-top: 0px;
    color: #fff;
    border-bottom: 1px solid #fff;
    /*    padding-left: 35px;*/
    position: relative;
  }
}

@media (max-width: 768px) {
  .gnav__menu>ul>li>a::after {
    position: absolute;
    font-family: FontAwesome;
    content: '\f054';
    font-size: 12px;
    top: 27px;
    left: 15px;
  }
}

.gnav__menu>ul>li>a>span {
  padding-left: 0px;
}

@media (max-width: 768px) {
  .gnav__menu>ul>li>a>span {
    padding-left: 35px;
  }
}


/* hover */
#gnav__access,
#gnav__profile {
  position: absolute;
}

@media (max-width: 768px) {

  #gnav__access,
  #gnav__profile {
    position: static;
  }
}

/* access */
#gnav__access {
  border: 0px solid red;
  top: 65px;
  left: 1px;
  z-index: 2;
  width: 160px;
  height: 60px;
  background-color: #fff;
}

@media (max-width: 768px) {
  #gnav__access {
    width: 100%;
    height: 65px;
    background-color: transparent;
  }
}

/* profile */
#gnav__profile {
  border: 0px solid red;
  top: 65px;
  left: 323px;
  z-index: 2;
  width: 160px;
  height: 60px;
  background-color: #fff;
}

@media (max-width: 768px) {
  #gnav__profile {
    width: 100%;
    height: 65px;
    background-color: transparent;
  }
}

#gnav__access {
  display: none;
}

@media (max-width: 768px) {
  #gnav__access {
    display: block;
  }
}

#gnav__profile {
  display: none;
}

@media (max-width: 768px) {
  #gnav__profile {
    display: block;
  }
}

.gnav__menu>ul>li>a {
  position: relative;
}

.gnav__menu>ul>li>a::before {
  border: 0px solid red;
  position: absolute;
  content: "";
  font-size: 0.7rem;
  color: #797979;
  top: 30px;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 150px;
  height: 20px;
}

@media (max-width: 768px) {
  .gnav__menu>ul>li>a::before {
    display: none;
  }
}


.gnav__menu>ul>li:nth-child(1)>a::before {
  content: "Top";
}


.gnav__menu>ul>li:nth-child(2)>a::before {
  content: "Research";
  margin: 9px auto;
  /* 後で直す */
}


.gnav__menu>ul>li:nth-child(3)>a::before {
  content: "Member";
}


.gnav__menu>ul>li:nth-child(4)>a::before {
  content: "Publications";
}


.gnav__menu>ul>li:nth-child(5)>a::before {
  content: "Access";
}

.gnav__menu>ul>li:nth-child(6)>a::before {
  content: "Event";
}


.nav-list_en>li>a {
  padding-top: 0px !important;
  justify-content: center !important;
}

.nav-list_en>li>a::before {
  display: none !important;
}

/* hover */
.gnav__menu>ul>li {
  position: relative;
}

.gnav__menu>ul>li>ul {
  position: absolute;
  z-index: 2;
  top: 65px;
  left: 0;
  height: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: row;
}

@media (max-width: 768px) {
  .gnav__menu>ul>li>ul {
    position: static;
  }
}


.nav-list {
  border: 0px solid red;
  margin: 0 auto;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

/* PC */
.nav-list {
  position: relative;
}

.nav-list {
  display: flex;
  list-style: none;
}

.menu-toggle {
  display: none;
  flex-direction: column;
  cursor: pointer;
  position: absolute;
  z-index: 2;
  top: 23px;
  right: 23px;
}

.bar {
  height: 3px;
  width: 25px;
  background-color: #111;
  margin: 4px 0;
  transition: transform 0.3s ease, opacity 0.3s ease;
}

.menu-toggle_en {
  top: 30px !important;
}

@media (max-width: 768px) {
  .nav-list {
    display: none !important;
    flex-direction: column;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0px;
    /* Adjust based on your header height */
    left: 0px;
    z-index: 1;
    padding-top: 65px;

  }

  .nav-list.active {
    display: block !important;
    background-color: rgba(50, 50, 50, 0.9);

  }

  .menu-toggle {
    display: flex;
  }

  .menu-toggle.active .bar:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
    margin: 0;
    position: absolute;
    top: 4px;
    background-color: #fff;
  }

  .menu-toggle.active .bar:nth-child(2) {
    opacity: 0;
  }

  .menu-toggle.active .bar:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg);
    margin: 0;
    position: absolute;
    top: 20px;
    background-color: #fff;
  }
}

.nav-list>li:hover {
  background-color: #f7764c;
  color: #fff;
}

.nav-list>li>a:hover {
  color: #fff;
}

.nav-list>li:hover>a::before {
  color: #fff;
}

.nav-list>li:hover+#gnav__access,
.nav-list>li:hover+#gnav__profile {
  color: #111;
  background-color: #fff;
}

@media (max-width: 768px) {

  .nav-list>li:hover+#gnav__access,
  .nav-list>li:hover+#gnav__profile {
    color: #fff;
    background-color: transparent;
  }
}

#gnav__access:hover,
#gnav__profile:hover {
  color: #fff;
  background-color: #111;
}

/* PC javascript */
.nav-list>li:nth-child(8),
.nav-list>li:nth-child(9),
.nav-list>li:nth-child(10) {
  display: none;
}

@media (max-width: 768px) {

  .nav-list>li:nth-child(8),
  .nav-list>li:nth-child(9),
  .nav-list>li:nth-child(10) {
    display: block;
  }
}

/* Access PC hover ASP */
.nav-list>li:nth-child(2) {
  display: block;
}

/*@media (max-width: 768px) {
  .nav-list>li:nth-child(2) {
    display: none !important;
  }
}*/

@media (max-width: 768px) {
  #menu-item02 div {
    display: block;
    position: absolute;
    right: 0px;
    color: #fff;
  }

  #menu-item02 div a {
    color: #fff;
  }

}

#more-info-button {
  width: 67px;
  height: 62px;
  background-color: rgba(0, 0, 0, 0.5);
  border: 0px solid red;
  font-size: 15px;
  cursor: pointer;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

.additional-info {
  display: none;
}




/* ------------------------------------- mv */
.sitetop__mainvisual-wrap {
  border: 0px solid red;
  width: 100%;
  height: 400px;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.2) 50px, rgba(255, 255, 255, 1) 150px);
}

@media (max-width: 768px) {
  .sitetop__mainvisual-wrap {
    border: 0px solid red;
    height: 100%;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.2) 10px, rgba(255, 255, 255, 1) 50px);
  }
}

.sitetop__mainvisual-wrap>div {
  border: 0px solid red;
  position: relative;
  width: 100%;
  /*max-width: 1160px;*/
  height: 100%;
  margin: 0 auto;
  background-image: url(../../images/sitetop_mv.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}

@media (max-width: 768px) {
  .sitetop__mainvisual-wrap>div {
    height: 150px;
    background-size: cover;
    background-position: top center;
  }
}


/* ------------------------------------- sitetop */
.sitetop__contents-wrap {
  border: 0px solid red;
  width: 100%;
  height: 100%;
  padding: 0px 0px;
}

@media (max-width: 768px) {
  .sitetop__contents-wrap {
    padding: 0px 0px 20px 0px;
  }
}

.sitetop__contents-inner {
  border: 0px solid red;
  width: 1160px;
  height: 100%;
  margin: 0 auto;
}

@media (max-width: 768px) {
  .sitetop__contents-inner {
    width: 95%;
    padding: 0px 0px;
  }
}

/* about us */
.sitetop__aboutus-wrap {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
  margin-bottom: 20px;
}

@media (max-width: 768px) {
  .sitetop__aboutus-wrap {
    flex-direction: column;
    margin-bottom: 0px;
  }
}

.sitetop__aboutus-title {
  margin-top: 0px;
}

@media (max-width: 768px) {
  .sitetop__aboutus-title {
    margin-top: 18px;
  }
}

.sitetop__aboutus-wrap-left {
  border: 0px solid red;
  width: 100%;
  height: 100%;
  padding-right: 15px;
  text-align: left;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
}

@media (max-width: 768px) {
  .sitetop__aboutus-wrap-left {
    width: 100%;
    padding-right: 0px;
  }
}

.sitetop__aboutus-wrap-left>h2 {
  width: 100%;
  border-bottom: 0px solid #000;
  line-height: 2.5;
  text-align: center;
}

.sitetop__aboutus-wrap-left>h2>span {
  margin-left: 30px;
}

.sitetop__aboutus-wrap-right {
  border: 0px solid red;
  width: 100%;
  height: 100%;
  padding-left: 0px;
  text-align: left;
}

@media (max-width: 768px) {
  .sitetop__aboutus-wrap-right {
    width: 100%;
    padding-left: 0px;
  }
}

.sitetop__aboutus-wrap-right>img {
  width: 100%;
}


/* News & Update */
.sitetop__info-wrap {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 30px;
}

@media (max-width: 768px) {
  .sitetop__info-wrap {
    flex-direction: column;
  }
}

.sitetop__news-wrap,
.sitetop__update-wrap {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
}

.sitetop__news-wrap>h2,
.sitetop__update-wrap>h2 {
  width: 100%;
  border-bottom: 2px solid #000;
  line-height: 2.5;
}

.sitetop__news-wrap>h2>span,
.sitetop__update-wrap>h2>span {
  margin-left: 30px;
}

.sitetop__news-list,
.sitetop__update-list {
  width: 100%;
  height: 240px;
  overflow-y: auto;
}

.sitetop__news-list>ul,
.sitetop__update-list>ul {
  width: 100%;
}

.sitetop__news-list>ul>li,
.sitetop__update-list>ul>li {
  border-bottom: 1px dotted #c4c4c4;
  width: 100%;
  padding: 20px 0px;
}

.sitetop__news-list>ul>li>dt,
.sitetop__update-list>ul>li>dt {
  float: left;
  margin-right: 30px;
}

.sitetop__news-list>ul>li>dd,
.sitetop__update-list>ul>li>dd {
  margin-left: 100px;
}

.sitetop__news-wrap,
.sitetop__update-wrap {
  position: relative;
}

.sitetop__news-log,
.sitetop__update-log {
  border: 0px solid red;
  width: 200px;
  /*  height: 30px;*/
  text-align: right;
  position: absolute;
  top: 50px;
  right: 0px;
}

@media (max-width: 768px) {

  .sitetop__news-log,
  .sitetop__update-log {
    top: 30px;
    right: 0px;
  }
}

.sitetop__news-log>a,
.sitetop__update-log>a {
  border: 0px solid red;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
}

.sitetop__news-log>a::before,
.sitetop__update-log>a::before {
  font-family: FontAwesome;
  content: '\f054';
  font-size: 12px;
  display: flex;
  align-items: center;
  position: relative;
  left: -5px;
}


/* ------------------------------------- sub_page */
/* substage */
.subpage__substage-wrap {
  border: 0px solid red;
  width: 100%;
  height: 150px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  z-index: 0;
}

.subpage__substage-wrap::before {
  content: "";
  background-image: url(../../images/sitetop_mv.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  position: absolute;
  top: -3px;
  bottom: -3px;
  left: -3px;
  right: -3px;
  filter: blur(3px);
  z-index: -1;
}

/* substage title */
.subpage__substage-wrap>div {
  text-align: center;
}

.subpage__substage-wrap>div>h2 {
  color: #fff;
  font-size: 1.5rem;
}

@media (max-width: 768px) {
  .subpage__substage-wrap>div>h2 {
    font-size: 1.3rem;
  }
}

.subpage__substage-wrap>div>h2>span {
  display: block;
  font-size: 1.0rem;
}

@media (max-width: 768px) {
  .subpage__substage-wrap>div>h2>span {
    font-size: 0.8rem;
  }
}

/* inner */
.subpage__contents-wrap {
  border: 0px solid red;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  margin-bottom: 50px;
  overflow-wrap: anywhere;
}

@media (max-width: 768px) {
  .subpage__contents-wrap {
    width: 95%;
  }
}

.subpage__contents-inner {
  border: 0px solid red;
  width: 100%;
  max-width: 1160px;
  height: 100%;
  margin: 0 auto;
}

.subpage__breadcrumb-wrap {
  border: 0px solid red;
  width: 100%;
  height: 30px;
  text-align: left;
}

.subpage__breadcrumb-wrap>ul {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
}

.subpage__breadcrumb-wrap>ul>li {
  border: 0px solid red;
  padding-left: 10px;
  margin-right: 10px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
}

.subpage__breadcrumb-wrap>ul>li::before {
  font-family: FontAwesome;
  content: '\f054';
  font-size: 12px;
  display: flex;
  align-items: center;
  position: relative;
  left: -10px;
}

.subpage__breadcrumb-wrap>ul>li:nth-child(1)::before {
  display: none;
}


.subpage__title-h2 {
  width: 100%;
  border-bottom: 2px solid #000;
  margin-top: 30px;
  margin-bottom: 30px;
  line-height: 2.5;
}


.subpage__title-h3-wrap {
  border: 0px solid red;
  width: 100%;
  margin: 0 auto;
  margin-top: 60px;
  margin-bottom: 40px;
  text-align: center;
}

@media (max-width: 768px) {
  .subpage__title-h3-wrap {
    margin-top: 15px;
    margin-bottom: 10px;
  }
}

.subpage__title-h3 {
  width: 300px;
  margin: 0 auto;
  text-align: center;
  border-bottom: 2px solid #000;
  line-height: 2.5;
}

.subpage__text-wrap {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-evenly;
  flex-direction: row;
}

@media (max-width: 768px) {
  .subpage__text-wrap {
    justify-content: center;
    flex-direction: column;
  }
}

.subpage__text-wrap>img {
  width: 30%;
  padding: 15px;
}

@media (max-width: 768px) {
  .subpage__text-wrap>img {
    width: 100%;
  }
}

.subpage__text-float-wrap {
  border: 0px solid red;
  width: 100%;
  height: 100%;
}

@media (max-width: 768px) {
  .subpage__text-float-wrap {
    text-align: center;
  }
}

.subpage__text-float-wrap>p {
  text-align: left;
}

.subpage__text-float-wrap>img {
  width: 360px;
  height: auto;
  float: right;
  margin: 0px 0px 10px 30px;
  vertical-align: bottom;
}

@media (max-width: 768px) {
  .subpage__text-float-wrap>img {
    width: 340px;
    float: initial;
    margin: 0 auto;
    margin-top: 15px;
    margin-bottom: 15px;
  }
}

.subpage__text-float-wrap::after {
  content: "";
  display: block;
  clear: both;
}

.subpage__list-wrap {
  border: 0px solid red;
  width: 100%;
  height: 100%;
  margin-top: 30px;
}

.subpage__list-wrap>table>tbody>tr>th {
  border: 0px solid red;
  width: 180px;
  padding: 5px 5px 20px 5px;
  font-weight: normal;
  text-align: left;
  vertical-align: top;
  background-color: #f1f1f1;
}

@media (max-width: 768px) {
  .subpage__list-wrap>table>tbody>tr>th {
    padding: 5px 0px 5px 0px;
  }
}

.subpage__list-wrap>table>tbody>tr>td {
  vertical-align: top;
  padding-left: 15px;
}

@media (max-width: 768px) {
  .subpage__list-wrap>table>tbody>tr>td {
    padding: 5px 0px 15px 0px;
  }
}

@media (max-width: 768px) {

  .subpage__list-wrap>table>tbody>tr>th,
  .subpage__list-wrap>table>tbody>tr>td {
    display: block;
    width: 100%;
  }
}

.subpage__text-underline {
  text-decoration: underline;
}

.subpage__link-underline {
  text-decoration: underline !important;
  color: #000 !important;
}

/* 矢印 */
.subpage__link-underline {
  align-items: flex-start;
  justify-content: center;
  padding-top: 0px;
  border-bottom: 1px solid #fff;
  padding-left: 15px;
  position: relative;
}

.subpage__link-underline::after {
  position: absolute;
  font-family: FontAwesome;
  content: '\f054';
  font-size: 12px;
  top: 0px;
  left: 0px;
}



.subpage__title-h3-bar {
  font-size: 1.3em;
  margin: 1.5em 0 0.5em 0;
  background-size: 15px;
  background-position: center left;
  padding-left: 1.4em;
  position: relative;
}

@media (max-width: 768px) {
  .subpage__title-h3-bar {
    margin: 1.0em 0 0.5em 0;
  }
}

.subpage__title-h3-bar:before {
  content: "";
  width: 4px;
  /*height: 25px;*/
  height: 100%;
  background-color: #111;
  display: block;
  position: absolute;
  left: 10px;
  bottom: 0px;
}

@media (max-width: 768px) {
  .subpage__title-h3-bar:before {
    top: 0px;
  }
}

/* 見出し矢印 */
.subpage__title-h3-bar a span {
  position: relative;
  padding-left: 15px;
  text-decoration: underline;
}

.subpage__title-h3-bar a span::after {
  position: absolute;
  font-family: FontAwesome;
  content: '\f054';
  font-size: 12px;
  top: 8px;
  left: 0px;
}

/* event daytime */
.subpage__title-h3-bar span {
  font-size: 1.0rem;
  margin-left: 10px;
}




.subpage__research-contents-left {
  width: 65%;
  height: 100%;
}

@media (max-width: 768px) {
  .subpage__research-contents-left {
    width: 100%;
  }
}

.subpage__research-contents-right {
  width: 35%;
  height: 100%;
  text-align: center;
  padding: 15px;
}

@media (max-width: 768px) {
  .subpage__research-contents-right {
    width: 100%;
    padding: 0px;
  }
}

.subpage__research-contents-right>img {
  width: 100%;
}

@media (max-width: 768px) {
  .subpage__research-contents-right>img {
    width: 360px;
    padding: 0px;
  }
}

.flex-col-reverse {
  margin: 30px 0px;
  align-items: flex-start;
  flex-direction: row;
}

@media (max-width: 768px) {
  .flex-col-reverse {
    flex-direction: column-reverse;
  }
}

/* youtube */
.subpage__mov-wrap {
  width: 100%;
  aspect-ratio: 16 / 9;
  margin: 30px 0px;
  padding: 0px 0px 0px 0px;
}

@media (max-width: 768px) {
  .subpage__mov-wrap {
    margin: 15px 0px;
  }
}

.subpage__mov-wrap iframe {
  width: 100%;
  height: 100%;
}

/* ------------------------------ subpage table */
.subpage__table table,
.subpage__table table tr th,
.subpage__table table tr td {
  border: 1px solid #ccc;
  border-collapse: collapse;
}

.subpage__table table tr th {
  font-weight: normal;
  width: 100px;
}

.subpage__table table tr th,
.subpage__table table tr td {
  padding: 5px;
}

.subpage__table table tr th img,
.subpage__table table tr td img {
  width: 180px;
}


.subpage__inner-table,
.subpage__inner-table tr th,
.subpage__inner-table tr td {
  border: 0px solid #ccc !important;
  border-collapse: collapse;
  padding: 5px;
}

.subpage__inner-table tr th {
  text-align: right;
  vertical-align: top;
}

.subpage__table-wrap {
  width: 100%;
  border: 1px solid #ccc;
  padding: 5px;
  margin-bottom: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 20px;
}

.subpage__table-contents-left {
  width: 300px;
}

.subpage__table-contents-left img {
  width: 100%;
}

.subpage__table-contents-right {
  width: 100%;
}

@media (max-width: 768px) {
  .subpage__table-wrap {
    flex-direction: column;
    padding: 0px;
  }

  .subpage__table-contents-left {
    width: 100%;
    text-align: center;
    padding: 10px 0px;
  }

  .subpage__table-contents-left img {
    width: 300px;
  }
}


/* 2row sp 1col 50% */
.subpage__2row-wrap {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: row;
  margin-bottom: 50px;
}

@media (max-width: 768px) {
  .subpage__2row-wrap {
    flex-direction: column;
  }
}

.subpage__2row-contents {
  width: 50%;
  height: 100%;
  padding: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
}

@media (max-width: 768px) {
  .subpage__2row-contents {
    width: 100%;
    padding: 10px 0px;
  }
}

.subpage__2row-contents>img {
  width: 100%;
}


/* device */
.subpage__device-wrap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  /* PC: 3列 */
  gap: 10px;
  /* 画像の間の隙間 */
}

@media (max-width: 768px) {
  .subpage__device-wrap {
    grid-template-columns: repeat(2, 1fr);
    /* SP: 2列 */
  }
}

.subpage__device-wrap>img {
  width: 100%;
}

/* event */
.subpage__event-wrap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  /* PC: 3列 */
  gap: 10px;
  /* 画像の間の隙間 */
}

@media (max-width: 768px) {
  .subpage__event-wrap {
    grid-template-columns: repeat(1, 1fr);
    /* SP: 1列 */
  }
}

.subpage__event-wrap>img {
  width: 100%;
}


/* photo move sp */
/* PCでは上の画像は非表示 */
.profile-photo-sp {
  display: none;
}

/* スマホではtable内の画像を非表示 */
@media screen and (max-width: 768px) {
  .profile-photo-pc {
    display: none;
  }

  .profile-photo-sp {
    display: block;
    text-align: center;
    margin-bottom: 15px;
  }

  .profile-photo-sp img {
    max-width: 60%;
    height: auto;
  }
}



/* member table */
.member_table {
  width: 60%;
}

@media (max-width: 768px) {
  .member_table {
    width: 100%;
  }
}

.member_table table tr td {
  text-align: center;
}

.member_table table tr td img {
  width: 180px;
}

@media (max-width: 768px) {
  .member_table table tr td img {
    width: 120px;
  }
}


/* 1列目 学年 */
.member_table table td:nth-child(1) {
  width: 60px !important;
}

/* 2列目 氏名 */
.member_table table td:nth-child(2) {
  width: 120px !important;
}

/* 3列目 出身地 */
.member_table table td:nth-child(3) {
  width: 120px !important;
}

/* 4列目（画像）は幅指定しない */









/* ------------------------------ bpts_spacer */
.bpts_spacer_10 {
  height: 10px;
}

.bpts_spacer_20 {
  height: 20px;
}

.bpts_spacer_30 {
  height: 30px;
}

.bpts_spacer_40 {
  height: 40px;
}

.bpts_spacer_50 {
  height: 50px;
}

.bpts_spacer_60 {
  height: 60px;
}

.bpts_spacer_70 {
  height: 70px;
}

.bpts_spacer_80 {
  height: 80px;
}

.bpts_spacer_90 {
  height: 90px;
}

.bpts_spacer_100 {
  height: 100px;
}

.bpts_spacer_110 {
  height: 110px;
}

.bpts_spacer_120 {
  height: 120px;
}


/* ------------------------------ bpts_margin */
.bpts_margin_10 {
  margin-top: 10px;
}

.bpts_margin_20 {
  margin-top: 20px;
}

.bpts_margin_30 {
  margin-top: 30px;
}

.bpts_margin_40 {
  margin-top: 40px;
}

.bpts_margin_50 {
  margin-top: 50px;
}


/* ------------------------------ br */
.bpts_br_sp_no {
  display: block;
}

@media (max-width: 768px) {
  .bpts_br_sp_no {
    display: none;
  }
}

.bpts_br_pc_no {
  display: none;
}

@media (max-width: 768px) {
  .bpts_br_pc_no {
    display: block;
  }
}



/* ------------------------------------- footer */
.footer__contents-wrap {
  border: 0px solid red;
  width: 100%;
  height: 100%;
}

.footer__banner-wrap {
  width: 100%;
  height: 100%;
  background-color: #f5f5dc;
}

.footer__contents-inner {
  border: 0px solid red;
  width: 1160px;
  height: 100%;
  margin: 0 auto;
}

@media (max-width: 768px) {
  .footer__contents-inner {
    width: 100%;
  }
}

.footer__banner-list {
  width: 100%;
  max-width: 1160px;
  height: 100%;
  padding: 15px 0px;
  display: flex;
  align-items: center;
  justify-content: center;
}


/* Links */
.footer__link-wrap {
  width: 100%;
  width: 1160px;
  height: 100%;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

@media (max-width: 768px) {
  .footer__link-wrap {
    width: 95%;
    margin: 0 auto;
  }
}

.footer__link-wrap>h2 {
  width: 100%;
  border-bottom: 2px solid #000;
  line-height: 2.5;
}

.footer__link-wrap>h2>span {
  margin-left: 30px;
}

.footer__link-block-wrap {
  width: 100%;
  max-width: 1160px;
  height: 100%;
  padding: 15px 0px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: row;
}

@media (max-width: 768px) {
  .footer__link-block-wrap {
    flex-direction: column;
  }
}


.footer__link-list {
  width: 50%;
  line-height: 2.0;
}

@media (max-width: 768px) {
  .footer__link-list {
    width: 100%;
  }
}

.footer__link-list>h3 {
  margin: 0px 0px;
}




.footer__link-list>ul>li>a {
  align-items: flex-start;
  justify-content: center;
  padding-top: 0px;
  border-bottom: 1px solid #fff;
  padding-left: 15px;
  position: relative;
}

.footer__link-list>ul>li>a::after {
  position: absolute;
  font-family: FontAwesome;
  content: '\f054';
  font-size: 12px;
  top: 0px;
  left: 0px;
}







/*************************************:
banner
***************************************/
.flex-margin {
  display: flex;
  flex-wrap: wrap;
  margin-left: 0px;
  margin-right: 0px;
}

.flex-margin-child {
  width: calc(100% / 3);
  padding: 0px 0px 0px 0px;
}

@media (max-width: 768px) {
  .flex-margin-child {
    width: 100%;
  }
}

.flex-content {
  border: 0px solid red;
  padding: 15px 0px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.flex-content>a>img {
  width: 305px;
  height: 70px;
}




.footer__menu-wrap {
  width: 100%;
  background-color: #f7764c;
}

.footer__menu-list {
  width: 100%;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 768px) {
  .footer__menu-list {
    height: auto;
  }
}

.footer__menu-list>ul {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
}

@media (max-width: 768px) {
  .footer__menu-list>ul {
    display: block;
  }
}

.footer__menu-list>ul>li {
  flex: 1;
  /* 均等に幅を分ける */
  height: auto;
  border-right: 1px solid #fff;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 768px) {
  .footer__menu-list>ul>li {
    width: 100%;
    border-right: none;
    border-bottom: 1px solid #fff;
  }
}

.footer__menu-list>ul>li>a {
  color: #fff;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 768px) {
  .footer__menu-list>ul>li>a {
    justify-content: flex-start;
    padding: 10px 15px;
  }
}

.footer__menu-list>ul>li:nth-child(1) {
  border-left: 1px solid #fff;
}

@media (max-width: 768px) {
  .footer__menu-list>ul>li:nth-child(1) {
    border-left: none;
  }

  .footer__menu-list>ul>li:last-child {
    border-bottom: none;
  }
}

@media (max-width: 768px) {
  .footer__menu-list>ul>li:first-child>a {
    padding-top: 0;
    /* 上の余白をなくす */
  }

  .footer__menu-list>ul>li:last-child>a {
    padding-bottom: 0;
    /* 下の余白をなくす */
  }
}






.footer__logo-wrap {
  border: 0px solid red;
  width: 100%;
  height: 100%;
}

.footer__logo-signature {
  border: 0px solid red;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
}

@media (max-width: 768px) {
  .footer__logo-signature {
    flex-direction: column;
  }
}

.footer__logo-signature>div {
  width: 100%;
  padding: 30px 0px 0px 0px;
}

@media (max-width: 768px) {
  .footer__logo-signature>div {
    width: 100%;
    padding: 15px 0px 0px 0px;
  }
}

.footer__logo-signature>div:nth-child(1) {
  text-align: center;
}

@media (max-width: 768px) {
  .footer__logo-signature>div:nth-child(1) {
    text-align: center;
  }
}

.footer_logo_pc {
  display: block;
  height: 50px;
  margin: 0 auto;
}

@media (max-width: 768px) {
  .footer_logo_pc {
    display: none;
  }
}

.footer_logo_pc_en {
  height: 80px !important;
}

.footer_logo_sp {
  display: none;
}

@media (max-width: 768px) {
  .footer_logo_sp {
    display: block;
    height: 40px;
    margin: 0 auto;
  }
}

.footer_logo_sp_en {
  height: 90px !important;
}

.footer__logo-signature>div:nth-child(2) {
  text-align: right;
  font-weight: bold;
}

@media (max-width: 768px) {
  .footer__logo-signature>div:nth-child(2) {
    text-align: center;
  }
}

.footer__copyright {
  width: 100%;
  padding: 30px 0px;
  text-align: center;
}


/* -------------------------------------- add */
/* back to top */
#page_top {
  width: 40px;
  height: 40px;
  position: fixed;
  z-index: 10;
  right: -40px;
  bottom: 15px;
  background-color: #f7764c;
  opacity: 0.9;
  border-radius: 0px;
}

#page_top a {
  position: relative;
  display: block;
  width: 40px;
  height: 15px;
  text-decoration: none;
  border-bottom-width: 0px;
}

#page_top a:hover {
  background-color: transparent;
}

#page_top a::before {
  font-family: FontAwesome;
  content: '\f077';
  font-size: 20px;
  color: #fff;
  position: absolute;
  width: 20px;
  height: 20px;
  top: 18px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}

/* scroll bar */
::-webkit-scrollbar {
  width: 10px;
}

::-webkit-scrollbar-track {
  background-color: #ccc;
}

::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, rgba(247, 118, 76, 1.0), rgba(245, 147, 115, 1.0));
  border-radius: 2px;
}



/* ------------------------- javascript animation */
.bgextend {
  animation-name: bgextendAnimeBase;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  position: relative;
  overflow: hidden;
  opacity: 0;
}

@keyframes bgextendAnimeBase {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.bgappear {
  animation-name: bgextendAnimeSecond;
  animation-duration: 1s;
  animation-delay: 0.6s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes bgextendAnimeSecond {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

.bgLRextend::before {
  animation-name: bgLRextendAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: linear-gradient(110deg, rgba(0, 23, 195, 1.0), rgba(0, 139, 158, 1.0));
  /*    background-color: #666;*/
}

@keyframes bgLRextendAnime {
  0% {
    transform-origin: left;
    transform: scaleX(0);
  }

  50% {
    transform-origin: left;
    transform: scaleX(1);
  }

  50.001% {
    transform-origin: right;
  }

  100% {
    transform-origin: right;
    transform: scaleX(0);
  }
}

.bgappearTrigger,
.bgLRextendTrigger {
  opacity: 0;
}


/* ------------------------- fadeUp */
.fadeUp {
  animation-name: fadeUpAnime;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.fadeUpTrigger {
  opacity: 0;
}