@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;300;400;500;600;700;800;900&display=swap");
html,
body {
  font-size: 16px;
  line-height: 1.6;
  font-family: "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  letter-spacing: 0;
  color: #333;
  background: #fff;
  letter-spacing: 0.1rem;
  font-feature-settings: "palt";
  word-break: break-all;
}

h1, h2, h3, h4, h5, h6 {
  font-family: inherit;
  color: inherit;
}

a {
  color: #333;
  text-decoration: none;
  word-break: break-all;
}

.bold {
  font-weight: 600;
}

.eng {
  font-family: "Poppins", sans-serif;
}

/*--------------------
共通コンテナ
--------------------*/
.container {
  width: 1280px;
  max-width: 100%;
  margin: auto;
  padding-top: 100px;
  padding-bottom: 100px;
  padding-left: 0;
  padding-right: 0;
}

.container2 {
  width: 1600px;
  max-width: 100%;
  margin: auto;
  padding-top: 100px;
  padding-bottom: 100px;
  padding-left: 0;
  padding-right: 0;
}

.m_box {
  padding: 1rem;
}

.m_box2 {
  padding: 2rem;
}

.hr_line {
  margin: 1rem 0;
  border-top: 1px solid #ccc;
}

.relative {
  position: relative;
  z-index: 1;
}

.box_r {
  border-radius: 1rem;
}

.border {
  border: 4px solid #333;
}

.gmap {
  width: 100%;
  padding-top: 33.3333333333%;
  position: relative;
}
.gmap iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

#particles-js {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
}

main,
footer,
section {
  position: relative;
}

/*--------------------
背景デザイン
--------------------*/
.bg_base {
  background: #0273b4;
}

.bg_sub {
  background: #71b9cb;
}

.bg_white {
  background: #fff;
}

.bg_black {
  background: #333;
}

.bg_gray {
  background: #c3c3c3;
}

.bg_beige {
  background: #fafafa;
}

.main_bg {
  background: linear-gradient(0deg, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.7)), url(../img/polygon.png) no-repeat center/cover;
}

.bg_grad {
  background: linear-gradient(135deg, rgb(233.2417582418, 246.9010989011, 254.7582417582) 0%, rgb(187.6597938144, 221.8041237113, 230.3402061856) 100%);
}

.bg_half_l {
  position: relative;
}
.bg_half_l::before {
  content: "";
  display: block;
  width: 85%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: linear-gradient(135deg, rgb(233.2417582418, 246.9010989011, 254.7582417582) 0%, rgb(187.6597938144, 221.8041237113, 230.3402061856) 100%);
}

.bg_border {
  border: 2px solid #0273b4;
}

.sdw {
  box-shadow: 0 5px 15px -5px rgba(51, 51, 51, 0.2);
}

/*--------------------
liデザイン
--------------------*/
.list_check li {
  padding-left: 1rem;
  position: relative;
}
.list_check li::before {
  font-style: normal;
  font-family: "Font Awesome 6 Free";
  font-variant: normal;
  text-rendering: auto;
  letter-spacing: 0;
  line-height: 1;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  content: "\f00c";
  font-weight: 900;
  font-size: 1rem;
  font-weight: 600;
  color: #0273b4;
  position: absolute;
  top: 5px;
  left: 0;
}
.list_check li:not(:last-of-type) {
  margin-bottom: 0.5rem;
}
.list_check.large li {
  font-size: 1.25rem;
}

.list_dot li {
  padding: 0.25rem 0;
  padding-left: 0.75rem;
  border-bottom: 1px solid #ccc;
  position: relative;
}
.list_dot li::before {
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  background: #71b9cb;
  position: absolute;
  top: 14px;
  left: 0;
}
.list_dot.small li {
  font-size: 0.75rem;
  border-bottom: 1px solid #c3c3c3;
}
.list_dot.small li::before {
  top: 12px;
}

.list_dot2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
}
.list_dot2 li {
  padding: 0.25rem 0.5rem;
  padding-left: 1.125rem;
  margin-bottom: 0.5rem;
  margin-right: 0.5rem;
  background: #fafafa;
  position: relative;
}
.list_dot2 li::before {
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  background: #71b9cb;
  position: absolute;
  top: 13px;
  left: 0.5rem;
}

.num_list {
  counter-reset: list-counter;
}
.num_list li {
  counter-increment: list-counter;
  position: relative;
  padding-left: calc(1rem + 8px);
  font-size: 1rem;
}
.num_list li:not(:last-of-type) {
  margin-bottom: 0.25rem;
}
.num_list li::before {
  content: counter(list-counter) ".";
  width: 1rem;
  position: absolute;
  left: 0;
  color: #0273b4;
  font-weight: 600;
  text-align: right;
}

/*--------------------
カラム共通CSS
--------------------*/
.reverse {
  flex-direction: row-reverse;
}

/*--------------------
共通見出し
--------------------*/
.m_text {
  font-size: 1.5rem;
}

.m_text2 {
  font-size: 1.25rem;
}

.marker_g {
  background: linear-gradient(transparent 65%, rgba(149, 193, 27, 0.5) 65%);
}

.marker_o {
  background: linear-gradient(transparent 65%, rgba(247, 138, 92, 0.5) 65%);
}

.marker_y {
  background: linear-gradient(transparent 65%, rgba(255, 236, 92, 0.5) 65%);
}

.eng {
  font-family: "Poppins", sans-serif;
  font-weight: 800;
  letter-spacing: 0;
  letter-spacing: 0.25rem;
}

.box_ttl {
  padding: 1rem;
  background: #fff;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 2rem;
}
.box_ttl span {
  display: inline-flex;
  align-items: center;
  font-size: 2.5rem;
  position: relative;
}
.box_ttl span::after {
  content: "";
  display: inline-block;
  width: 2rem;
  height: 4px;
  background: #0273b4;
  margin: 0 1rem;
}
.box_ttl b {
  font-size: 1.25rem;
  font-weight: 600;
}

.line_ttl {
  font-size: 1.25rem;
  font-weight: 600;
  margin-bottom: 1rem;
  padding: 1rem 0;
  border-top: 4px solid #0273b4;
  border-bottom: 4px solid #0273b4;
}

.sub_ttl {
  margin-bottom: 1rem;
  padding-left: 0.5rem;
  font-weight: 600;
  border-left: 4px solid #0273b4;
  position: relative;
}
.sub_ttl::before {
  content: "";
  display: block;
  width: 4px;
  height: 50%;
  background: #333;
  position: absolute;
  bottom: 0;
  left: -4px;
}

.mid_ttl {
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid #333;
  font-weight: 600;
  position: relative;
}
.mid_ttl::before {
  content: "";
  display: block;
  width: 2rem;
  height: 2px;
  background: #0273b4;
  position: absolute;
  bottom: -2px;
  left: 0;
}

/*--------------------
header
--------------------*/
header {
  width: 100%;
  padding: 1rem;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
  transform: translateY(-100%);
  transition: 0.5s ease-in-out;
}
header.fixed {
  transform: translateY(0);
}
header.fix_bg {
  background: rgba(51, 51, 51, 0.9);
}

.head_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}

#logo {
  width: 240px;
}

.nav_wrap {
  width: calc(100% - 240px);
  margin-left: auto;
}
.nav_wrap nav {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
}
.nav_wrap nav > ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
}
.nav_wrap nav li {
  margin-left: 1rem;
}
.nav_wrap nav li a {
  display: inline-block;
  padding: 0.5rem;
  color: #fff;
  font-weight: 600;
}
.nav_wrap nav .head_btn {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.nav_wrap nav .head_btn .new_btn,
.nav_wrap nav .head_btn .contact_btn {
  margin-left: 1.5rem;
}
.nav_wrap nav .head_btn .new_btn a,
.nav_wrap nav .head_btn .contact_btn a {
  display: inline-block;
  padding: 1rem 2rem;
  color: #fff;
  font-weight: 600;
  transition: 0.3s ease;
}
.nav_wrap nav .head_btn .new_btn a::after,
.nav_wrap nav .head_btn .contact_btn a::after {
  font-style: normal;
  font-family: "Font Awesome 6 Free";
  font-variant: normal;
  text-rendering: auto;
  letter-spacing: 0;
  line-height: 1;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  content: "\f138";
  font-weight: 900;
  margin-left: 0.5rem;
}
.nav_wrap nav .head_btn .new_btn a {
  background: #8a439e;
}
.nav_wrap nav .head_btn .new_btn a:hover {
  background: rgba(138, 67, 158, 0.8);
}
.nav_wrap nav .head_btn .contact_btn a {
  background: #0273b4;
}
.nav_wrap nav .head_btn .contact_btn a:hover {
  background: rgba(2, 115, 180, 0.8);
}

.drop_down {
  cursor: pointer;
  position: relative;
}
.drop_down > ul {
  width: 150%;
  background: #fff;
  opacity: 0;
  visibility: hidden;
  position: absolute;
  top: 80%;
  left: 50%;
  transform: translateX(-50%);
  transition: ease 0.3s;
}
.drop_down > ul::before {
  content: "";
  border: 8px solid transparent;
  border-bottom: 10px solid #fff;
  position: absolute;
  top: -18px;
  left: 50%;
  transform: translateX(-50%);
}
.drop_down > ul li {
  margin-left: 0;
}
.drop_down > ul li a {
  display: block;
  padding: 1rem;
  border-bottom: 1px solid #ccc;
  color: #333;
  position: relative;
}
.drop_down > ul li a::after {
  font-style: normal;
  font-family: "Font Awesome 6 Free";
  font-variant: normal;
  text-rendering: auto;
  letter-spacing: 0;
  line-height: 1;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  content: "\f0da";
  font-weight: 900;
  position: absolute;
  top: 50%;
  right: 1rem;
  transform: translateY(-50%);
}
.drop_down:hover > ul {
  pointer-events: auto;
  opacity: 1;
  visibility: visible;
  top: 100%;
  z-index: 1;
}

/*--------------------
メインビジュアル
--------------------*/
#mainvisual {
  width: 100%;
  height: 100vh;
  position: relative;
}
#mainvisual video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#mainvisual::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(51, 51, 51, 0.6);
  position: absolute;
  top: 0;
  left: 0;
}
#mainvisual .name_wrap {
  position: absolute;
  bottom: 14rem;
  left: 5%;
}
#mainvisual .name_wrap h2 {
  color: #fff;
  line-height: 1.6;
}
#mainvisual .name_wrap h2 p {
  font-size: 1.75rem;
  font-weight: 600;
}
#mainvisual .name_wrap h2 span {
  display: block;
  font-size: 3rem;
  font-weight: 600;
}

#catch {
  width: 270px;
  position: absolute;
  top: 50%;
  right: 5%;
  transform: translateY(-50%);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
#catch h2 {
  writing-mode: vertical-rl;
  font-size: 2.5rem;
  font-weight: 600;
  color: #333;
  letter-spacing: 0.1rem;
}
#catch h2 p {
  overflow: hidden;
  margin-left: 1rem;
}
#catch h2 span {
  display: inline-block;
  padding: 0 0.5rem;
  color: #fff;
  font-weight: 600;
  border-right: 2px solid #fff;
}

/*--------------------
top1
--------------------*/
#top1 {
  position: relative;
  z-index: 1;
  overflow: hidden;
}
#top1 .eng_ttl {
  display: inline-block;
  writing-mode: vertical-rl;
  white-space: nowrap;
  font-size: 10rem;
  opacity: 0.1;
  position: absolute;
  top: 0;
  left: 0;
  animation: infinite_txt 10s linear infinite;
  transform: translateY(-100%);
}
#top1 h2 {
  font-size: 2rem;
  font-weight: 600;
}
#top1 .academic_body {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
#top1 .academic_body .academic_bnr {
  width: 100%;
  overflow: hidden;
}
#top1 .academic_body h3 {
  font-size: 1.25rem;
  text-align: center;
  margin-bottom: 1rem;
}
#top1 .academic_body figure {
  width: 100%;
}
#top1 .academic_body figure a {
  display: block;
}
#top1 .academic_btn {
  text-align: center;
  margin: auto;
  margin-top: 2rem;
}
#top1 .academic_btn a {
  display: inline-block;
  padding: 1rem 2rem;
  background: #333;
  color: #fff;
}
#top1 .academic_btn a::after {
  font-style: normal;
  font-family: "Font Awesome 6 Free";
  font-variant: normal;
  text-rendering: auto;
  letter-spacing: 0;
  line-height: 1;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  content: "\f138";
  font-weight: 900;
  margin-left: 0.5rem;
}
#top1 .sponsor_wrap {
  margin-top: 2rem;
}
#top1 .sponsor_wrap .sponsor_box {
  padding: 2rem;
  background: #fff;
  border: 1px solid #0273b4;
}
#top1 .sponsor_wrap .sponsor_box:nth-of-type(1) {
  margin-bottom: 2rem;
}
#top1 .sponsor_wrap h3 {
  font-size: 1.5rem;
  font-weight: 600;
  text-align: center;
  margin-bottom: 1rem;
  padding: 1rem;
  background: #0273b4;
  color: #fff;
}
#top1 .sponsor_wrap .sponsor_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-end;
}
#top1 .sponsor_wrap .sponsor_list li {
  width: 25%;
  padding: 1rem 0;
  text-align: center;
}
#top1 .sponsor_wrap .sponsor_list li img {
  width: 65%;
}
#top1 .sponsor_wrap .sponsor_list li p {
  margin-top: 1rem;
}

@keyframes infinite_txt {
  100% {
    transform: translateY(100%);
  }
}
/*--------------------
top2
--------------------*/
#top2 {
  background: linear-gradient(0deg, rgba(51, 51, 51, 0.6), rgba(51, 51, 51, 0.6)), url(../img/about_bg.jpg) no-repeat center/cover;
  background-attachment: fixed;
}
#top2 .container {
  width: 1600px;
  max-width: 100%;
  margin: auto;
  padding-top: 100px;
  padding-bottom: 100px;
  padding-left: 0;
  padding-right: 0;
}
#top2 .about_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}
#top2 h2 {
  color: #fff;
  margin-bottom: 2rem;
}
#top2 h2 span {
  font-size: 3rem;
  font-weight: 600;
}
#top2 h2 p {
  font-size: 2rem;
}
#top2 .about_img {
  width: 45%;
  padding: 2rem 0 4rem;
  position: relative;
}
#top2 .about_img p:nth-of-type(1) {
  width: 65%;
  position: absolute;
  bottom: -50px;
  right: 0;
  z-index: 1;
}
#top2 .about_img p:nth-of-type(2) {
  width: 65%;
}
#top2 .about_body {
  width: 50%;
  color: #fff;
}
#top2 .about_body p {
  line-height: 2;
}
#top2 .about_body p + p {
  margin-top: 1rem;
}

/*--------------------
top3
--------------------*/
#top3 {
  position: relative;
  z-index: 1;
}
#top3 .container {
  width: 100%;
  max-width: 100%;
  margin: auto;
  padding-top: 100px;
  padding-bottom: 100px;
  padding-left: 0;
  padding-right: 0;
}
#top3 h2 {
  margin-bottom: 2rem;
}
#top3 h2 span {
  font-size: 3.5rem;
  color: #333;
}
#top3 h2 p {
  font-size: 1.5rem;
  font-weight: 600;
  color: #0273b4;
}
#top3 .certification_wrap {
  position: relative;
}
#top3 .certification_wrap::before {
  content: "";
  display: block;
  width: 1600px;
  max-width: 100%;
  height: 80%;
  background: #0273b4;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
#top3 .certification_wrap .certification_body {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  padding: 100px 0;
}
#top3 .certification_wrap .certification_body .certification_img {
  width: 1280px;
  max-width: 100%;
  height: 800px;
  margin-left: auto;
  overflow: hidden;
}
#top3 .certification_wrap .certification_body .certification_img figure {
  width: 140%;
  height: 140%;
}
#top3 .certification_wrap .certification_body .certification_img figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#top3 .certification_wrap .certification_body .certification_txt {
  width: 1600px;
  max-width: 100%;
  margin: auto;
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 0;
  padding-right: 0;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
#top3 .certification_wrap .certification_body .certification_txt .certification_txt_inner {
  width: 800px;
  max-width: 100%;
  padding: 4rem;
  background: #fff;
  box-shadow: 0 5px 15px -5px rgba(51, 51, 51, 0.2);
}
#top3 .certification_wrap .certification_body .certification_txt p {
  line-height: 2;
}
#top3 .certification_wrap .certification_body .certification_txt p + p {
  margin-top: 1rem;
}
#top3 .certification_wrap .certification_body .certification_txt .more_btn {
  margin-top: 2rem;
}
#top3 .certification_wrap .certification_body .certification_txt .more_btn a {
  display: inline-block;
  padding: 1rem 2rem;
  border: 2px solid #333;
  font-weight: 600;
  position: relative;
  z-index: 1;
  overflow: hidden;
}
#top3 .certification_wrap .certification_body .certification_txt .more_btn a::before {
  content: "";
  width: 100%;
  height: 100%;
  background: #333;
  transition: 0.3s ease;
  position: absolute;
  top: 0;
  left: -100%;
  z-index: -1;
}
#top3 .certification_wrap .certification_body .certification_txt .more_btn a::after {
  font-style: normal;
  font-family: "Font Awesome 6 Free";
  font-variant: normal;
  text-rendering: auto;
  letter-spacing: 0;
  line-height: 1;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  content: "\f138";
  font-weight: 900;
  margin-left: 0.5rem;
}
#top3 .certification_wrap .certification_body .certification_txt .more_btn a:hover {
  color: #fff;
}
#top3 .certification_wrap .certification_body .certification_txt .more_btn a:hover::before {
  left: 0;
}

/*--------------------
top4
--------------------*/
#top4 {
  background: linear-gradient(0deg, rgba(51, 51, 51, 0.9), rgba(51, 51, 51, 0.9)), url(../img/contents_bg.jpg) no-repeat center/cover;
  background-attachment: fixed;
}
#top4 .container {
  width: 1600px;
  max-width: 100%;
  margin: auto;
  padding-top: 100px;
  padding-bottom: 100px;
  padding-left: 0;
  padding-right: 0;
}
#top4 h2 {
  text-align: center;
  margin-bottom: 2rem;
}
#top4 h2 span {
  font-size: 3.5rem;
  color: #fff;
}
#top4 .menu_wrap ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
}
#top4 .menu_wrap ul li {
  width: 33.3333333333%;
  border: 1px solid #fff;
  border-style: inset;
}
#top4 .menu_wrap ul li a {
  display: block;
  position: relative;
  overflow: hidden;
}
#top4 .menu_wrap ul li a .eng_ttl {
  width: 100%;
  height: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  background: rgba(51, 51, 51, 0.5);
  padding: 0 2rem;
  position: absolute;
  top: 0;
  left: 0;
  transition: 0.3s ease;
}
#top4 .menu_wrap ul li a .eng_ttl span {
  display: block;
  width: 100%;
  padding: 1rem 0;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
  font-size: 1.125rem;
  color: #fff;
  text-align: center;
}
#top4 .menu_wrap ul li a figure {
  width: 100%;
  height: 240px;
}
#top4 .menu_wrap ul li a figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#top4 .menu_wrap ul li a .caption {
  width: 100%;
  height: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  background: rgba(51, 51, 51, 0.8);
  position: absolute;
  top: 0;
  left: 0;
  transition: 0.3s ease;
  opacity: 0;
}
#top4 .menu_wrap ul li a .caption span {
  font-size: 1.25rem;
  font-weight: 600;
  color: #fff;
}
#top4 .menu_wrap ul li a .caption .more_btn {
  color: #fff;
  margin-top: 2rem;
}
#top4 .menu_wrap ul li a .caption .more_btn b {
  display: inline-block;
  padding: 0.5rem 2rem;
  border: 1px solid #fff;
}
#top4 .menu_wrap ul li a .caption .more_btn b::after {
  font-style: normal;
  font-family: "Font Awesome 6 Free";
  font-variant: normal;
  text-rendering: auto;
  letter-spacing: 0;
  line-height: 1;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  content: "\f138";
  font-weight: 900;
  margin-left: 0.5rem;
}
#top4 .menu_wrap ul li a:hover .eng_ttl {
  opacity: 0;
}
#top4 .menu_wrap ul li a:hover .caption {
  opacity: 1;
  transform: scale(1);
}

/*--------------------
top_news
--------------------*/
#top_news {
  width: 45%;
  max-width: 100%;
  margin-top: -180px;
  margin-left: 5%;
  padding-bottom: 60px;
  position: relative;
  z-index: 1;
}
#top_news .news_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
#top_news .news_wrap .news_ttl {
  width: 200px;
}
#top_news .news_wrap .news_ttl h2 {
  line-height: 1.6;
  color: #fff;
}
#top_news .news_wrap .news_ttl h2 span {
  font-size: 2rem;
}
#top_news .news_wrap .news_ttl h2 p {
  font-weight: 600;
}
#top_news .news_wrap .news_box {
  width: calc(100% - 240px);
  height: 120px;
  padding: 2rem;
  overflow-y: scroll;
  border: 1px solid #fff;
}
#top_news .news_wrap .news_box ul li {
  margin-bottom: 1rem;
}
#top_news .news_wrap .news_box ul li a {
  display: block;
  color: #fff;
  padding-bottom: 1rem;
  border-bottom: 1px solid #fff;
}
#top_news .news_wrap .news_box ul li a .cate {
  display: inline-block;
  padding: 0.5rem 1rem;
  margin-right: 0.5rem;
  background: #95c11b;
  color: #fff;
  line-height: 1;
}
#top_news .news_wrap .news_box ul li a .cate.news {
  background: #71b9cb;
}
#top_news .news_wrap .news_box ul li a .date {
  display: inline-block;
  margin-right: 0.5rem;
  color: #fff;
}
#top_news .news_wrap .news_box ul li a h3 {
  display: inline-block;
}
#top_news .news_wrap .news_box ul li:last-of-type {
  margin-bottom: 0;
}
#top_news .more_news {
  text-align: center;
  margin-top: 2rem;
}
#top_news .more_news a {
  display: inline-block;
  padding: 1rem 2rem;
  background: #333;
  color: #fff;
}
#top_news .more_news a::after {
  font-style: normal;
  font-family: "Font Awesome 6 Free";
  font-variant: normal;
  text-rendering: auto;
  letter-spacing: 0;
  line-height: 1;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  content: "\f138";
  font-weight: 900;
  margin-left: 0.5rem;
}

/*--------------------
top_blog
--------------------*/
#top_blog h2 {
  text-align: center;
  line-height: 1.6;
  margin-bottom: 2rem;
}
#top_blog h2 span {
  font-size: 3.5rem;
  color: #0273b4;
}
#top_blog h2 p {
  font-size: 1.5rem;
  font-weight: 600;
}
#top_blog .top_blog_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
}
#top_blog .top_blog_wrap .blog_box {
  width: 31%;
  background: #fff;
}
#top_blog .top_blog_wrap .blog_box a {
  display: block;
}
#top_blog .top_blog_wrap .blog_box a figure {
  width: 100%;
  height: 240px;
  overflow: hidden;
}
#top_blog .top_blog_wrap .blog_box a figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#top_blog .top_blog_wrap .blog_box .blog_body {
  padding: 1rem;
}
#top_blog .top_blog_wrap .blog_box .blog_body .date {
  display: block;
  color: #0273b4;
}
#top_blog .top_blog_wrap .blog_box .blog_body .blog_ttl {
  margin-top: 0.5rem;
}
#top_blog .top_blog_wrap .coming_ttl {
  width: 100%;
  font-size: 2rem;
  text-align: center;
}

/*--------------------
CTA
--------------------*/
#cta_wrap {
  background: linear-gradient(0deg, rgba(51, 51, 51, 0.8), rgba(51, 51, 51, 0.8)), url(../img/cta_back.jpg) no-repeat center/cover;
}
#cta_wrap .container {
  width: 1600px;
  max-width: 100%;
  margin: auto;
  padding-top: 100px;
  padding-bottom: 100px;
  padding-left: 0;
  padding-right: 0;
}
#cta_wrap .cta_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
}
#cta_wrap .cta_box .cta_ttl {
  width: 260px;
}
#cta_wrap .cta_box .cta_ttl h2 {
  color: #fff;
  line-height: 2;
}
#cta_wrap .cta_box .cta_ttl h2 span {
  font-size: 1.5rem;
}
#cta_wrap .cta_box .cta_ttl h2 p {
  font-size: 3rem;
  font-weight: 600;
}
#cta_wrap .cta_box .cta_btn_wrap {
  width: calc(100% - 460px);
}
#cta_wrap .cta_box .cta_btn_wrap ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
#cta_wrap .cta_box .cta_btn_wrap ul li {
  width: 50%;
  text-align: center;
  padding: 1rem 0;
}
#cta_wrap .cta_box .cta_btn_wrap ul li:nth-of-type(1) {
  border-right: 1px solid #fff;
  padding-right: 4rem;
}
#cta_wrap .cta_box .cta_btn_wrap ul li:nth-of-type(2) {
  padding-left: 4rem;
}
#cta_wrap .cta_box .cta_btn_wrap ul li p {
  color: #fff;
  font-weight: 600;
  margin-bottom: 2rem;
}
#cta_wrap .cta_box .cta_btn_wrap ul li a {
  display: block;
  padding: 1rem 2rem;
  font-weight: 600;
  background: #fff;
  position: relative;
  z-index: 1;
  overflow: hidden;
}
#cta_wrap .cta_box .cta_btn_wrap ul li a::before {
  content: "";
  width: 100%;
  height: 100%;
  background: #333;
  transition: 0.3s ease;
  position: absolute;
  top: 0;
  left: -100%;
  z-index: -1;
}
#cta_wrap .cta_box .cta_btn_wrap ul li a::after {
  font-style: normal;
  font-family: "Font Awesome 6 Free";
  font-variant: normal;
  text-rendering: auto;
  letter-spacing: 0;
  line-height: 1;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  content: "\f138";
  font-weight: 900;
  margin-left: 0.5rem;
}
#cta_wrap .cta_box .cta_btn_wrap ul li a:hover {
  color: #fff;
}
#cta_wrap .cta_box .cta_btn_wrap ul li a:hover::before {
  left: 0;
}
#cta_wrap .cta_box .cta_btn_wrap .member_link {
  margin-top: 4rem;
  color: #fff;
  font-weight: 600;
  text-align: center;
}
#cta_wrap .cta_box .cta_btn_wrap .member_link .member_btn a {
  display: inline-block;
  background: #0273b4;
  padding: 1rem 2rem;
  color: #fff;
  font-weight: 600;
}
#cta_wrap .cta_box .cta_btn_wrap .member_link .member_btn a::after {
  font-style: normal;
  font-family: "Font Awesome 6 Free";
  font-variant: normal;
  text-rendering: auto;
  letter-spacing: 0;
  line-height: 1;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  content: "\f138";
  font-weight: 900;
  margin-left: 0.5rem;
}

/*--------------------
下層共通
--------------------*/
.under_header {
  position: relative;
  overflow: hidden;
}
.under_header::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(51, 51, 51, 0.8);
  position: absolute;
  top: 0;
  left: 0;
}
.under_header h2 {
  color: #fff;
  text-align: right;
  position: absolute;
  bottom: -1.75rem;
  right: -1.5rem;
}
.under_header h2 span {
  display: inline-block;
  margin-right: 3rem;
  margin-bottom: 2rem;
  padding: 1rem 2rem;
  background: #fff;
  color: #333;
  font-size: 2rem;
  font-weight: 600;
}
.under_header h2 p {
  font-family: "Poppins", sans-serif;
  font-weight: 800;
  letter-spacing: 0;
  font-size: 10rem;
  line-height: 1;
  letter-spacing: 1.5rem;
}

/*--------------------
学会について
--------------------*/
#about1 h2 {
  line-height: 1.6;
  text-align: center;
  margin-bottom: 2rem;
}
#about1 h2 span {
  font-size: 3.5rem;
  color: #0273b4;
}
#about1 h2 p {
  font-size: 1.5rem;
  font-weight: 600;
  color: #333;
}
#about1 .purpose_wrap figure {
  text-align: center;
  margin-bottom: 4rem;
}
#about1 .purpose_wrap p {
  line-height: 2;
}
#about1 .purpose_wrap p + p {
  margin-top: 1rem;
}

#about2 {
  background: #0273b4;
}
#about2 .constitution_wrap {
  margin-bottom: 2rem;
}
#about2 .constitution_wrap:last-of-type {
  margin-bottom: 0;
}
#about2 .kaisoku_dl {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  border-bottom: 1px solid #ccc;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
}
#about2 .kaisoku_dl dt {
  width: 100px;
  position: relative;
  padding-left: 1rem;
  font-weight: 600;
}
#about2 .kaisoku_dl dt::before {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  background: #0273b4;
  position: absolute;
  top: 0.5rem;
  left: 0;
}
#about2 .kaisoku_dl dd {
  width: calc(100% - 120px);
}

#about3 .fee_wrap {
  padding: 2rem;
  background: #fff;
}
#about3 .fee_tbl {
  width: 100%;
}
#about3 .fee_tbl th, #about3 .fee_tbl td {
  padding: 1rem;
  border: 1px solid #333;
  vertical-align: middle;
}
#about3 .fee_tbl thead th {
  background: #0273b4;
  color: #fff;
}

/*--------------------
理事長挨拶
--------------------*/
#founder1 .greet_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
#founder1 .greet_wrap .greet_img {
  width: 40%;
}
#founder1 .greet_wrap .greet_img .name {
  margin-top: 1rem;
  font-size: 1.25rem;
  font-weight: 600;
}
#founder1 .greet_wrap .greet_img .name span {
  display: block;
  font-size: 1.5rem;
  font-weight: 600;
}
#founder1 .greet_wrap .greet_txt {
  width: 55%;
}
#founder1 .greet_wrap .greet_txt h2 {
  font-size: 2.5rem;
  font-weight: 600;
  margin-bottom: 2rem;
  line-height: 1.6;
  color: #0273b4;
}
#founder1 .greet_wrap .greet_txt p + p {
  margin-top: 1rem;
}

#founder2 {
  background: #0273b4;
}
#founder2 .history_timeline {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  padding: 3rem 2rem 2rem;
  background: #fff;
}
#founder2 .history_timeline .history_wrap {
  width: 48%;
  margin-bottom: 3rem;
  padding: 2rem 1rem 1rem;
  border: 2px solid #333;
  position: relative;
}
#founder2 .history_timeline .history_wrap .years_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  padding: 0 1rem;
  background: #fff;
  position: absolute;
  top: -1rem;
  left: 1rem;
}
#founder2 .history_timeline .history_wrap .years_wrap .eng {
  font-size: 2rem;
  line-height: 1;
  margin-right: 0.5rem;
  color: #0273b4;
}
#founder2 .history_timeline .history_wrap .years_wrap span {
  font-weight: 600;
}
#founder2 .history_timeline .history_wrap .timeline_inr:not(:last-of-type) {
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #c3c3c3;
}
#founder2 .history_timeline .history_wrap .timeline_inr .date {
  font-weight: 600;
}
#founder2 .greet_body .career_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  margin-top: 2rem;
  padding: 2rem;
  background: #fff;
}
#founder2 .greet_body .career_wrap .career_box {
  width: 48%;
  margin-bottom: 2rem;
}
#founder2 .greet_body .career_wrap .career_box.none {
  margin-bottom: 0;
}

.history_timeline2 {
  padding: 2rem;
  background: #fff;
}
.history_timeline2 dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  padding-bottom: 3rem;
  padding-left: 2rem;
  position: relative;
  z-index: 1;
}
.history_timeline2 dl::before, .history_timeline2 dl::after {
  content: "";
  position: absolute;
}
.history_timeline2 dl::before {
  width: 1rem;
  height: 1rem;
  background: #71b9cb;
  left: 0;
  top: 16px;
}
.history_timeline2 dl::after {
  width: 1px;
  height: 100%;
  background: #333;
  left: 0.5rem;
  top: 16px;
  z-index: -1;
}
.history_timeline2 dl dt {
  width: 220px;
  padding-right: 4rem;
  text-align: center;
}
.history_timeline2 dl dt p {
  color: #0273b4;
  font-size: 3rem;
  font-weight: 600;
  line-height: 1;
}
.history_timeline2 dl dd {
  width: calc(100% - 220px);
}
.history_timeline2 dl dd .timeline_inr {
  padding-top: 0.25rem;
}
.history_timeline2 dl dd .timeline_inr:not(:last-of-type) {
  padding-bottom: 1rem;
}
.history_timeline2 dl dd .timeline_inr span {
  display: inline-block;
  font-size: 1.125rem;
  font-weight: 600;
}
.history_timeline2 dl dd .timeline_inr .date {
  width: 100px;
  padding: 0.25rem 0.5rem;
  background: #333;
  color: #fff;
  text-align: center;
  font-size: 1rem;
}

/*--------------------
理事/評議員
--------------------*/
#directors1 h2 {
  line-height: 1.6;
  text-align: center;
  margin-bottom: 2rem;
}
#directors1 h2 span {
  font-size: 3.5rem;
  color: #0273b4;
}
#directors1 h2 p {
  font-size: 1.5rem;
  font-weight: 600;
  color: #333;
}
#directors1 .director_box .directors_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
}
#directors1 .director_box .directors_list li {
  width: 31%;
  margin-right: 3.5%;
  margin-bottom: 2rem;
  background: #fff;
  border: 1px solid #0273b4;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
}
#directors1 .director_box .directors_list li:nth-of-type(3n) {
  margin-right: 0;
}
#directors1 .director_box .directors_list li figure {
  width: 30%;
}
#directors1 .director_box .directors_list li figure img {
  width: 100%;
}
#directors1 .director_box .directors_list li .directors_body {
  width: 70%;
  padding: 1rem;
}
#directors1 .director_box .directors_list li .directors_body h3 {
  font-size: 1.125rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
}

#directors2 {
  background: #0273b4;
}
#directors2 .director_box:not(:last-of-type) {
  margin-bottom: 2rem;
}
#directors2 .director_box p {
  font-weight: 600;
}
#directors2 .hyogi_tbl {
  width: 100%;
}
#directors2 .hyogi_tbl th, #directors2 .hyogi_tbl td {
  padding: 1rem;
  border: 1px solid #c3c3c3;
}
#directors2 .hyogi_tbl th {
  font-weight: 600;
  background: #fafafa;
}

/*--------------------
会員一覧
--------------------*/
#membership1 .oraganization_tbl {
  width: 100%;
}
#membership1 .oraganization_tbl th, #membership1 .oraganization_tbl td {
  padding: 1rem;
  border: 1px solid #c3c3c3;
}
#membership1 .oraganization_tbl th {
  width: 25%;
  background: #0273b4;
  color: #fff;
  font-weight: 600;
}

#membership2 {
  background: #0273b4;
}
#membership2 .breakdown_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
@media (max-width: 768px) {
  #membership2 .breakdown_list {
    flex-direction: column;
  }
}
#membership2 .breakdown_list li {
  width: 33%;
  padding: 2rem;
  text-align: center;
}
@media (max-width: 768px) {
  #membership2 .breakdown_list li {
    width: 100%;
  }
}
#membership2 .breakdown_list li .breakdown_num {
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.2;
}
#membership2 .breakdown_list li .breakdown_ttl span {
  display: block;
  text-align: center;
}
#membership2 .breakdown_list li .breakdown_ttl span.eng {
  font-size: 1.5rem;
}
#membership2 .breakdown_list li .breakdown_ttl span.jpn {
  font-weight: 600;
}
#membership2 .breakdown_list li.total_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-end;
}
#membership2 .breakdown_list li.total_list .total_num {
  margin-right: 1rem;
}
#membership2 .breakdown_list li.total_list .total_num .eng {
  font-size: 1.5rem;
}
#membership2 .breakdown_list li.total_list .total_num .jpn {
  font-weight: 600;
}
#membership2 .breakdown_list li.total_list .total_num_eng {
  font-size: 5rem;
  font-weight: 700;
  line-height: 1;
}

#membership3 .member_tbl_box {
  margin-bottom: 2rem;
}
#membership3 h3 .jpn {
  font-weight: 600;
  color: #0273b4;
}
#membership3 .member_tbl {
  width: 100%;
  table-layout: fixed;
  font-size: 14px;
}
#membership3 .member_tbl th, #membership3 .member_tbl td {
  padding: 1rem;
  border: 1px solid #c3c3c3;
  vertical-align: middle;
}
#membership3 .member_tbl th {
  background: #0273b4;
  color: #fff;
  font-weight: 600;
}

.table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  position: relative;
}
@media (max-width: 768px) {
  .table-wrap {
    margin-bottom: 1.5rem;
  }
}

@keyframes float-x {
  0%, 100% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(-5px);
  }
}
.table-wrap table {
  min-width: 600px;
}

@media (max-width: 768px) {
  .scroll-hint {
    font-size: 12px;
    text-align: right;
    color: #0273b4;
    margin-bottom: 0.25rem;
    animation: blink 1.2s infinite;
  }
  @keyframes blink {
    0%, 100% {
      opacity: 1;
    }
    50% {
      opacity: 0.3;
    }
  }
  .table-wrap {
    position: relative;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .table-wrap::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 40px;
    height: 100%;
    pointer-events: none;
    background: linear-gradient(to left, rgba(255, 255, 255, 0.9), transparent);
    transition: opacity 0.3s;
  }
  .table-wrap.scrolled::after {
    opacity: 0;
  }
}
/*--------------------
再生医療とは
--------------------*/
#regenerative h2 {
  line-height: 1.6;
  text-align: center;
  margin-bottom: 2rem;
}
#regenerative h2 span {
  font-size: 3.5rem;
  color: #0273b4;
}
#regenerative h2 p {
  font-size: 1.5rem;
  font-weight: 600;
  color: #333;
}
#regenerative .m_box2:nth-of-type(1) {
  margin-bottom: 2rem;
}
#regenerative .medicine_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
#regenerative .medicine_box .medicine_body {
  width: 48%;
}
#regenerative .medicine_box .medicine_img {
  width: 48%;
}
#regenerative .medicine_box2 {
  margin-top: 1rem;
  padding: 2rem;
  border: 1px solid #0273b4;
}

/*--------------------
ご入会について
--------------------*/
#regist1 h2 {
  line-height: 1.6;
  text-align: center;
  margin-bottom: 2rem;
}
#regist1 h2 span {
  font-size: 3.5rem;
  color: #0273b4;
}
#regist1 h2 p {
  font-size: 1.5rem;
  font-weight: 600;
  color: #333;
}
#regist1 .regist_wrap {
  margin-bottom: 2rem;
}
#regist1 .flow_wrap {
  padding: 3rem 3rem 0;
}
#regist1 .flow_wrap .flow_box {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
}
#regist1 .flow_wrap .flow_box::before {
  content: "";
  display: block;
  width: 40%;
}
#regist1 .flow_wrap .flow_box dl {
  width: 60%;
  padding: 2rem 0 2rem 4rem;
  position: relative;
}
#regist1 .flow_wrap .flow_box dl dt {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  letter-spacing: 0;
  width: 80px;
  height: 80px;
  background: #fff;
  border: 1px solid #333;
  border-radius: 50%;
  color: #0273b4;
  position: absolute;
  top: 2rem;
  left: -40px;
}
#regist1 .flow_wrap .flow_box dl dd {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
#regist1 .flow_wrap .flow_box dl dd .flow_inr {
  width: 68%;
}
#regist1 .flow_wrap .flow_box dl dd .flow_inr > p {
  font-weight: 600;
}
#regist1 .flow_wrap .flow_box dl dd .flow_img {
  width: 30%;
  text-align: center;
}
#regist1 .flow_wrap .flow_box dl dd .flow_img > p {
  margin-top: 0.5rem;
}
#regist1 .flow_wrap .flow_box:nth-of-type(odd) {
  flex-direction: row-reverse;
}
#regist1 .flow_wrap .flow_box:nth-of-type(odd) dl {
  border-left: 1px solid #333;
}
#regist1 .flow_wrap .flow_box:nth-of-type(even)::before {
  border-top: 1px solid #333;
  border-bottom: 1px solid #333;
  border-right: 1px solid #333;
}
#regist1 .flow_wrap .flow_box:first-of-type dl {
  border-top: 0;
}
#regist1 .flow_wrap .flow_box:last-of-type dl {
  border-bottom: 0;
}
#regist1 .flow_wrap .flow_box .form_btn {
  text-align: center;
  margin-top: 1rem;
}
#regist1 .flow_wrap .flow_box .form_btn a {
  display: inline-block;
  padding: 1rem 2rem;
  background: #71b9cb;
  color: #fff;
}
#regist1 .flow_wrap .flow_box .form_btn a::after {
  font-style: normal;
  font-family: "Font Awesome 6 Free";
  font-variant: normal;
  text-rendering: auto;
  letter-spacing: 0;
  line-height: 1;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  content: "\f090";
  font-weight: 900;
  margin-left: 0.5rem;
}
#regist1 .regist_btn {
  text-align: center;
  margin-top: 2rem;
}
#regist1 .regist_btn a {
  display: inline-block;
  width: 300px;
  padding: 1rem;
  text-align: center;
  background: #71b9cb;
  color: #fff;
}
#regist1 .regist_btn a::after {
  font-style: normal;
  font-family: "Font Awesome 6 Free";
  font-variant: normal;
  text-rendering: auto;
  letter-spacing: 0;
  line-height: 1;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  content: "\f090";
  font-weight: 900;
  margin-left: 0.5rem;
}

.lb-nav a.lb-prev, .lb-nav a.lb-next {
  width: 2rem;
  height: 2rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  background: #fff;
  border: 2px solid #333;
  border-radius: 50%;
  opacity: 1;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.lb-nav a.lb-prev {
  left: 1rem;
}
.lb-nav a.lb-prev::before {
  font-style: normal;
  font-family: "Font Awesome 6 Free";
  font-variant: normal;
  text-rendering: auto;
  letter-spacing: 0;
  line-height: 1;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  content: "\f053";
  font-weight: 900;
}
.lb-nav a.lb-next {
  right: 1rem;
}
.lb-nav a.lb-next::before {
  font-style: normal;
  font-family: "Font Awesome 6 Free";
  font-variant: normal;
  text-rendering: auto;
  letter-spacing: 0;
  line-height: 1;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  content: "\f054";
  font-weight: 900;
}

#regist2 {
  background: #0273b4;
}
#regist2 .m_box2:nth-of-type(1) {
  margin-bottom: 4rem;
}
#regist2 .syubetu_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
}
#regist2 .syubetu_wrap .syubetu_box {
  width: 48%;
}
#regist2 .syubetu_wrap .syubetu_box > p {
  margin-bottom: 1rem;
}
#regist2 .syubetu_wrap .fee_tbl {
  width: 100%;
}
#regist2 .syubetu_wrap .fee_tbl th, #regist2 .syubetu_wrap .fee_tbl td {
  padding: 1rem;
  border: 1px solid #333;
  vertical-align: middle;
}
#regist2 .syubetu_wrap .fee_tbl thead th {
  background: #0273b4;
  color: #fff;
}
#regist2 .syubetu_tbl {
  width: 100%;
}
#regist2 .syubetu_tbl th, #regist2 .syubetu_tbl td {
  padding: 1rem;
  border: 1px solid #c3c3c3;
  vertical-align: middle;
}
#regist2 .syubetu_tbl th {
  width: 30%;
  background: #fafafa;
}

/*--------------------
認定制度について
--------------------*/
#system1 h2 {
  line-height: 1.6;
  text-align: center;
  margin-bottom: 2rem;
}
#system1 h2 span {
  font-size: 3.5rem;
  color: #0273b4;
}
#system1 h2 p {
  font-size: 1.5rem;
  font-weight: 600;
  color: #333;
}
#system1 .system_wrap .system_img {
  height: 480px;
  overflow: hidden;
}
#system1 .system_wrap .system_img figure {
  width: 100%;
  height: 100%;
}
#system1 .system_wrap .system_img figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#system1 .system_wrap .system_body {
  width: 80%;
  margin: auto;
  margin-top: -120px;
  padding: 2rem;
  background: #fff;
  position: relative;
}
#system1 .system_wrap .system_body p {
  line-height: 2;
}
#system1 .system_wrap .system_body p + p {
  margin-top: 1rem;
}

#system2 {
  background: #0273b4;
}

#system3 {
  background: #fafafa;
}
#system3 .system_tbl {
  width: 100%;
}
#system3 .system_tbl th, #system3 .system_tbl td {
  padding: 1rem;
  vertical-align: middle;
  border: 1px solid #c3c3c3;
}
#system3 .system_tbl th {
  background: #0273b4;
  color: #fff;
}

#system4 {
  background: #0273b4;
}

#system5 {
  background: #fafafa;
}
#system5 .course_box:nth-of-type(1) {
  margin-bottom: 2rem;
}
#system5 .system_tbl {
  width: 100%;
}
#system5 .system_tbl th, #system5 .system_tbl td {
  padding: 1rem;
  vertical-align: middle;
  border: 1px solid #c3c3c3;
}
#system5 .system_tbl th {
  background: #0273b4;
  color: #fff;
}
#system5 .sub_box {
  padding: 1rem;
  background: #fafafa;
  margin-bottom: 2rem;
}
#system5 .sub_box h4 {
  margin-top: 0.5rem;
  font-weight: 600;
}
#system5 .sub_box h4 span {
  font-weight: 600;
  color: #0273b4;
}

#system6 {
  background: #0273b4;
}
#system6 .course_box {
  margin-top: 2rem;
}

#system7 {
  background: #fafafa;
}
#system7 .course_box {
  margin-top: 2rem;
}
#system7 .system_tbl {
  width: 100%;
}
#system7 .system_tbl th, #system7 .system_tbl td {
  padding: 1rem;
  vertical-align: middle;
  text-align: center;
  border: 1px solid #c3c3c3;
}
#system7 .system_tbl th {
  background: #0273b4;
  color: #fff;
}
#system7 b {
  color: #7eaed4;
}
#system7 .gokaku_bnr {
  margin-top: 2rem;
  text-align: center;
}

#system8 {
  background: #0273b4;
}
#system8 .course_box {
  padding: 2rem;
  border: 2px solid #0273b4;
}
#system8 .course_box p {
  text-align: center;
}
#system8 .course_box .entry_btn {
  margin-top: 2rem;
  text-align: center;
}
#system8 .course_box .entry_btn a {
  width: 200px;
  display: inline-block;
  padding: 1rem 0;
  background: #0273b4;
  color: #fff;
  font-weight: 600;
}
#system8 .course_box .entry_btn a::after {
  font-style: normal;
  font-family: "Font Awesome 6 Free";
  font-variant: normal;
  text-rendering: auto;
  letter-spacing: 0;
  line-height: 1;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  content: "\f138";
  font-weight: 900;
  margin-left: 0.5rem;
}

/*--------------------
学術総会・学術シンポジウム
--------------------*/
#event_archive .container {
  width: 1600px;
  max-width: 100%;
  margin: auto;
  padding-top: 100px;
  padding-bottom: 100px;
  padding-left: 0;
  padding-right: 0;
}
#event_archive .event_archive_list ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
}
#event_archive .event_archive_list ul li {
  width: 31%;
  margin-right: 3.5%;
  margin-bottom: 2rem;
}
#event_archive .event_archive_list ul li:nth-of-type(3n) {
  margin-right: 0;
}
#event_archive .event_archive_list ul li a {
  display: block;
}
#event_archive .event_archive_list ul li a.is-disabled {
  pointer-events: none;
}
#event_archive .event_archive_list ul li a:hover figure img {
  transform: scale(1.1);
}
#event_archive .event_archive_list ul li .event_img {
  position: relative;
}
#event_archive .event_archive_list ul li .event_img figure {
  width: 100%;
  height: 260px;
  overflow: hidden;
}
#event_archive .event_archive_list ul li .event_img figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: 0.3s ease;
}
#event_archive .event_archive_list ul li .event_img .event_status {
  display: inline-block;
  padding: 0.5rem 1rem;
  text-align: center;
  background: #8a439e;
  color: #fff;
  font-weight: 600;
  position: absolute;
  top: 0;
  left: 0;
}
#event_archive .event_archive_list ul li .event_img .event_status.is-ended {
  background: #fafafa;
  color: #333;
}
#event_archive .event_archive_list ul li .event_img .event_status.is-coming {
  background: #71b9cb;
}
#event_archive .event_archive_list ul li .event_body {
  padding: 1rem;
  background: #fff;
}
#event_archive .event_archive_list ul li .event_body .event_badge {
  display: inline-block;
  margin-bottom: 1rem;
  padding: 0.25rem 1rem;
  color: #fff;
  font-weight: 600;
}
#event_archive .event_archive_list ul li .event_body .event_badge.cate_seminar {
  background: #f78a5c;
}
#event_archive .event_archive_list ul li .event_body .event_badge.cate_soukai {
  background: #d16694;
}
#event_archive .event_archive_list ul li .event_body .event_subtitle {
  position: relative;
  margin-bottom: 1rem;
  padding-left: 1rem;
  font-weight: 600;
}
#event_archive .event_archive_list ul li .event_body .event_subtitle::before {
  content: "";
  display: block;
  width: 0.5rem;
  height: 2px;
  background: #0273b4;
  position: absolute;
  top: 0.75rem;
  left: 0;
}
#event_archive .event_archive_list ul li .event_body .event_info dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
}
#event_archive .event_archive_list ul li .event_body .event_info dl dt {
  width: 80px;
  margin-bottom: 0.5rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #0273b4;
}
#event_archive .event_archive_list ul li .event_body .event_info dl dd {
  width: calc(100% - 100px);
  margin-bottom: 0.5rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #333;
}
#event_archive .event_archive_list ul li:nth-of-type(1) .event_body .event_badge {
  position: relative;
}
#event_archive .event_archive_list ul li:nth-of-type(1) .event_body .event_badge::after {
  content: "受付中";
  display: inline-block;
  color: #e0325b;
  position: absolute;
  top: 4px;
  right: -62px;
}

/*--------------------
学会からのニュース
--------------------*/
#news_event h2 {
  line-height: 1.6;
  text-align: center;
  margin-bottom: 2rem;
}
#news_event h2 span {
  font-size: 3.5rem;
  color: #0273b4;
}
#news_event h2 p {
  font-size: 1.5rem;
  font-weight: 600;
  color: #333;
}
#news_event .more_news {
  text-align: center;
  margin-top: 2rem;
}
#news_event .more_news a {
  display: inline-block;
  padding: 1rem 2rem;
  background: #333;
  color: #fff;
}
#news_event .more_news a::after {
  font-style: normal;
  font-family: "Font Awesome 6 Free";
  font-variant: normal;
  text-rendering: auto;
  letter-spacing: 0;
  line-height: 1;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  content: "\f138";
  font-weight: 900;
  margin-left: 0.5rem;
}
#news_event .news_event_list ul li {
  padding: 1rem;
  border-bottom: 1px solid #333;
  position: relative;
  z-index: 1;
}
#news_event .news_event_list ul li::before {
  content: "";
  display: block;
  width: 0;
  height: 100%;
  background: #0273b4;
  transition: 0.3s ease;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
#news_event .news_event_list ul li span {
  display: inline-block;
  margin-right: 1rem;
  padding: 0.5rem 1rem;
  color: #fff;
}
#news_event .news_event_list ul li span.news_cate_event {
  background: #95c11b;
}
#news_event .news_event_list ul li span.news_cate_news {
  background: #71b9cb;
}
#news_event .news_event_list ul li a {
  display: inline-block;
  transition: 0.3s ease;
}
#news_event .news_event_list ul li:hover::before {
  width: 100%;
}
#news_event .news_event_list ul li:hover a {
  color: #fff;
}
#news_event .page_navi {
  text-align: center;
  margin-top: 2rem;
}
#news_event .page_navi a, #news_event .page_navi span {
  display: inline-block;
  padding: 0.5rem 1rem;
  border: 1px solid #0273b4;
  color: #0273b4;
}
#news_event .page_navi .current {
  background: #0273b4;
  color: #fff;
}
#news_event .page_navi .next, #news_event .page_navi .prev {
  border: 0;
  text-decoration: underline;
}

/*--------------------
学会ブログ
--------------------*/
#blog h2 {
  line-height: 1.6;
  text-align: center;
  margin-bottom: 2rem;
}
#blog h2 span {
  font-size: 3.5rem;
  color: #0273b4;
}
#blog h2 p {
  font-size: 1.5rem;
  font-weight: 600;
  color: #333;
}
#blog .single_blog_box .single_blog_body img {
  width: auto;
  height: auto;
}

/*--------------------
合格者一覧
--------------------*/
#exam .exam_box .exam_tbl {
  width: 100%;
}
#exam .exam_box .exam_tbl th, #exam .exam_box .exam_tbl td {
  padding: 1rem;
  border: 1px solid #c3c3c3;
}
#exam .exam_box .exam_tbl td:nth-of-type(1) {
  text-align: center;
}
#exam .exam_box .exam_tbl thead th {
  background: #0273b4;
  color: #fff;
  font-weight: 600;
}
#exam .exam_box .exam_tbl + p {
  margin-top: 1rem;
  text-align: right;
}

/*--------------------
関係論文
--------------------*/
#papers1 .papers_box:not(:last-of-type) {
  margin-bottom: 2rem;
}
#papers1 .pdf_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
}
#papers1 .pdf_list li {
  width: 17%;
  margin-right: 3.75%;
}
#papers1 .pdf_list li:nth-of-type(5n) {
  margin-right: 0;
}
#papers1 .pdf_list li a {
  display: block;
}
#papers1 .pdf_list li figure {
  width: 100%;
  height: 260px;
}
#papers1 .pdf_list li figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#papers1 .pdf_list li p {
  margin-top: 1rem;
}

/*--------------------
関連研究情報
--------------------*/
#research h2 {
  margin-bottom: 1rem;
}
#research h2 span {
  font-size: 2rem;
}
#research h2 p {
  line-height: 1.6;
  font-weight: 600;
}
#research .research_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
#research .research_box figure {
  width: 35%;
}
#research .research_box .research_body {
  width: 60%;
}
#research .research_box .research_list li a {
  display: block;
  padding: 1rem 0;
  font-weight: 600;
  border-bottom: 1px solid #0273b4;
}
#research .research_box .research_list li a::before {
  font-style: normal;
  font-family: "Font Awesome 6 Free";
  font-variant: normal;
  text-rendering: auto;
  letter-spacing: 0;
  line-height: 1;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  content: "\f35d";
  font-weight: 900;
  margin-right: 0.5rem;
  color: #0273b4;
}

/*--------------------
トピックス
--------------------*/
#topics h2 {
  line-height: 1.6;
  text-align: center;
  margin-bottom: 2rem;
}
#topics h2 span {
  font-size: 3.5rem;
  color: #0273b4;
}
#topics h2 p {
  font-size: 1.5rem;
  font-weight: 600;
  color: #333;
}
#topics .topics_list li a {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
#topics .topics_list li a:hover figure img {
  transform: scale(1.1);
}
#topics .topics_list li figure {
  width: 25%;
  height: 200px;
  overflow: hidden;
}
#topics .topics_list li figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: 0.3s ease;
}
#topics .topics_list li .topics_list_body {
  width: 70%;
}

/*--------------------
個人情報保護方針
--------------------*/
#privacy1 h2 {
  line-height: 1.6;
  text-align: center;
  margin-bottom: 2rem;
}
#privacy1 h2 span {
  font-size: 3.5rem;
  color: #0273b4;
}
#privacy1 h2 p {
  font-size: 1.5rem;
  font-weight: 600;
  color: #333;
}
#privacy1 .privacy_wrap {
  margin-bottom: 2rem;
}
#privacy1 .privacy_wrap h3 {
  font-size: 1.25rem;
}

/*--------------------
お問い合わせ
--------------------*/
#contactform h2 {
  line-height: 1.6;
  text-align: center;
  margin-bottom: 2rem;
}
#contactform h2 span {
  font-size: 3.5rem;
  color: #0273b4;
}
#contactform h2 p {
  font-size: 1.5rem;
  font-weight: 600;
  color: #333;
}
#contactform .form_box dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid #fff;
}
#contactform .form_box dl dt {
  width: 300px;
  color: #fff;
  font-weight: 600;
  padding: 0.5rem 0;
}
#contactform .form_box dl dd {
  width: calc(100% - 320px);
}
#contactform .form_box input[type=text],
#contactform .form_box input[type=email],
#contactform .form_box textarea {
  display: block;
  width: 100%;
  padding: 0.5rem 1rem;
}
#contactform .form_box .submit {
  text-align: center;
}
#contactform .form_box .submit input[type=submit] {
  display: inline-block;
  width: 160px;
  margin: 0 1rem;
  padding: 1rem 2rem;
  background: #333;
  color: #fff;
  font-weight: 600;
  cursor: pointer;
}
#contactform .form_box .submit input[type=submit].btn_back {
  background: #ccc;
  color: #333;
}
#contactform .form_box .mw_wp_form_preview dl dd {
  color: #fff;
}

/*--------------------
認定制度お申し込み
--------------------*/
#apply_form h2 {
  text-align: center;
  line-height: 1.6;
}
#apply_form .apply_box {
  margin-bottom: 2rem;
}
#apply_form .apply_box .apply_tbl {
  width: 100%;
}
#apply_form .apply_box .apply_tbl th, #apply_form .apply_box .apply_tbl td {
  padding: 1rem;
  border: 1px solid #c3c3c3;
}
#apply_form .apply_box .apply_tbl th {
  background: #0273b4;
  color: #fff;
}
#apply_form .apply_box .apply_inr {
  margin: 2rem 0;
  padding: 1rem;
  border: 1px solid #0273b4;
}
#apply_form .apply_flow .apply_flow_box {
  width: 100%;
}
#apply_form .apply_flow .apply_flow_box:nth-of-type(1) {
  margin-bottom: 2rem;
}
#apply_form .apply_flow .apply_flow_box h4 {
  padding-bottom: 0.5rem;
  background: #fff;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 1rem;
  border-bottom: 2px solid #333;
}
#apply_form .apply_flow .apply_flow_box h4 span {
  display: inline-flex;
  align-items: center;
  font-size: 1.5rem;
  position: relative;
}
#apply_form .apply_flow .apply_flow_box h4 span::after {
  content: "";
  display: inline-block;
  width: 1rem;
  height: 2px;
  background: #0273b4;
  margin: 0 1rem;
}
#apply_form .apply_flow .apply_flow_box h4 b {
  font-weight: 600;
}
#apply_form .apply_flow .apply_flow_box .apply_flow_body {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
#apply_form .apply_flow .apply_flow_box figure {
  width: 30%;
}
#apply_form .apply_flow .apply_flow_box .apply_flow_link {
  width: 68%;
  padding: 1rem;
}
#apply_form .apply_flow .apply_flow_box .apply_btn_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-top: 1rem;
}
#apply_form .apply_flow .apply_flow_box .apply_btn_list li {
  width: 30%;
}
#apply_form .apply_flow .apply_flow_box .apply_btn_list li a {
  display: block;
  text-align: center;
  padding: 1rem;
  background: #71b9cb;
  color: #fff;
  font-weight: 600;
}
#apply_form .apply_flow .apply_flow_box .apply_btn_list li a::after {
  font-style: normal;
  font-family: "Font Awesome 6 Free";
  font-variant: normal;
  text-rendering: auto;
  letter-spacing: 0;
  line-height: 1;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  content: "\f138";
  font-weight: 900;
  margin-left: 0.5rem;
}
#apply_form .apply_flow_contact {
  text-align: center;
  margin-top: 2rem;
}
#apply_form .apply_flow_contact .contact_btn {
  margin-top: 1rem;
}
#apply_form .apply_flow_contact .contact_btn a {
  display: inline-block;
  padding: 1rem 2rem;
  background: #0273b4;
  color: #fff;
  font-weight: 600;
}
#apply_form .apply_flow_contact .contact_btn a::after {
  font-style: normal;
  font-family: "Font Awesome 6 Free";
  font-variant: normal;
  text-rendering: auto;
  letter-spacing: 0;
  line-height: 1;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  content: "\f138";
  font-weight: 900;
  margin-left: 0.5rem;
}

/*--------------------
仮申請フォーム
--------------------*/
#provisional_form h2 {
  text-align: center;
  line-height: 1.6;
}
#provisional_form .apply_box {
  margin-bottom: 2rem;
}
#provisional_form .apply_box .apply_tbl {
  width: 100%;
}
#provisional_form .apply_box .apply_tbl th, #provisional_form .apply_box .apply_tbl td {
  padding: 1rem;
  border: 1px solid #c3c3c3;
}
#provisional_form .apply_box .apply_tbl th {
  background: #0273b4;
  color: #fff;
}
#provisional_form .apply_box .apply_inr {
  margin: 2rem 0;
  padding: 1rem;
  border: 1px solid #0273b4;
}
#provisional_form .form_box dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid #fff;
}
#provisional_form .form_box dl dt {
  width: 300px;
  color: #fff;
  font-weight: 600;
  padding: 0.5rem 0;
}
#provisional_form .form_box dl dd {
  width: calc(100% - 320px);
}
#provisional_form .form_box dl dd .mwform-checkbox-field {
  color: #fff;
}
#provisional_form .form_box input[type=text],
#provisional_form .form_box input[type=email],
#provisional_form .form_box textarea {
  display: block;
  width: 100%;
  padding: 0.5rem 1rem;
}
#provisional_form .form_box .submit {
  text-align: center;
}
#provisional_form .form_box .submit input[type=submit] {
  display: inline-block;
  width: 160px;
  margin: 0 1rem;
  padding: 1rem 2rem;
  background: #333;
  color: #fff;
  font-weight: 600;
  cursor: pointer;
}
#provisional_form .form_box .submit input[type=submit].btn_back {
  background: #ccc;
  color: #333;
}
#provisional_form .form_box .mw_wp_form_preview dl dd {
  color: #fff;
}
#provisional_form .form_box .t_center {
  color: #fff;
  margin-top: 1rem;
}
#provisional_form .apply_flow_contact {
  text-align: center;
  margin-top: 2rem;
}
#provisional_form .apply_flow_contact .contact_btn {
  margin-top: 1rem;
}
#provisional_form .apply_flow_contact .contact_btn a {
  display: inline-block;
  padding: 1rem 2rem;
  background: #0273b4;
  color: #fff;
  font-weight: 600;
}
#provisional_form .apply_flow_contact .contact_btn a::after {
  font-style: normal;
  font-family: "Font Awesome 6 Free";
  font-variant: normal;
  text-rendering: auto;
  letter-spacing: 0;
  line-height: 1;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  content: "\f138";
  font-weight: 900;
  margin-left: 0.5rem;
}

/*--------------------
リンク
--------------------*/
#link_wrap {
  background: #fff;
}
#link_wrap h2 {
  text-align: center;
  line-height: 2;
}
#link_wrap h2 span {
  font-size: 3.5rem;
  color: #0273b4;
}
#link_wrap h2 p {
  font-size: 1.5rem;
  font-weight: 600;
}
#link_wrap .link_box ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
#link_wrap .link_box ul li {
  width: 20%;
  padding: 1rem;
}
#link_wrap .link_box ul li a {
  display: block;
}
#link_wrap .link_box ul li a img {
  width: 100%;
}

/*--------------------
footer
--------------------*/
footer {
  background: #333;
  color: #fff;
}
footer .container {
  width: 1600px;
  max-width: 100%;
  margin: auto;
  padding-top: 100px;
  padding-bottom: 100px;
  padding-left: 0;
  padding-right: 0;
}
footer .foot_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}
footer .foot_wrap .foot_l {
  width: 25%;
}
footer .foot_wrap .foot_l .f_logo {
  width: 240px;
  margin-bottom: 1rem;
}
footer .foot_wrap .foot_l address {
  font-style: normal;
  margin: 1rem 0;
}
footer .foot_wrap .foot_m {
  width: 55%;
  padding: 0 4rem;
}
footer .foot_wrap .foot_m nav ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}
footer .foot_wrap .foot_m nav ul li {
  width: 46%;
}
footer .foot_wrap .foot_m nav ul li a {
  display: block;
  padding: 1rem;
  color: #fff;
  border-bottom: 1px solid #fff;
  position: relative;
}
footer .foot_wrap .foot_m nav ul li a::after {
  font-style: normal;
  font-family: "Font Awesome 6 Free";
  font-variant: normal;
  text-rendering: auto;
  letter-spacing: 0;
  line-height: 1;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  content: "\f0da";
  font-weight: 900;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
footer .foot_wrap .foot_r {
  width: 20%;
}
footer .foot_wrap .foot_r .cta_list li:nth-of-type(1) {
  margin-bottom: 2rem;
}
footer .foot_wrap .foot_r .cta_list li a {
  display: block;
  background: #fff;
  padding: 1rem 2rem;
  color: #333;
  text-align: center;
  font-weight: 600;
}
footer .foot_wrap .foot_r .cta_list li a::after {
  font-style: normal;
  font-family: "Font Awesome 6 Free";
  font-variant: normal;
  text-rendering: auto;
  letter-spacing: 0;
  line-height: 1;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  content: "\f138";
  font-weight: 900;
  margin-left: 0.5rem;
}
footer .copyright {
  margin-top: 2rem;
  padding: 1rem;
  text-align: center;
}
footer .copyright a {
  color: #fff;
}

#totop {
  display: block;
  text-align: center;
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);
  transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease;
  cursor: pointer;
  mix-blend-mode: difference;
  color: #fff;
  line-height: 1.2;
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  z-index: 11;
}
#totop.show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
#totop::before {
  font-style: normal;
  font-family: "Font Awesome 6 Free";
  font-variant: normal;
  text-rendering: auto;
  letter-spacing: 0;
  line-height: 1;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  content: "\f077";
  font-weight: 900;
}
#totop span {
  display: block;
}

/*--------------------
アニメーション
--------------------*/
.catch_anim {
  opacity: 0;
  overflow: hidden;
}
.catch_anim::before {
  background: #fff;
}
.catch_anim.on {
  animation-name: maskIn;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(0.8, 0, 0.5, 1);
  position: relative;
  opacity: 1 !important;
}
.catch_anim.on::before {
  animation-name: maskOut;
  animation-duration: 0.5s;
  animation-delay: 0.5s;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(0.8, 0, 0.5, 1);
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
}

@keyframes catch_anim {
  0% {
    opacity: 0;
    transform: translateY(-100%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.slide_anim {
  opacity: 0;
  display: block;
  overflow: hidden;
}
.slide_anim.on {
  animation-name: maskIn;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(0.8, 0, 0.5, 1);
  position: relative;
  opacity: 1 !important;
}
.slide_anim.on::before {
  animation-name: maskOut;
  animation-duration: 0.5s;
  animation-delay: 0.5s;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(0.8, 0, 0.5, 1);
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
}
.slide_anim::before {
  background: #0273b4;
}

@keyframes maskIn {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0);
  }
}
@keyframes maskOut {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(101%);
  }
}
.slide_anim2 {
  opacity: 0;
}
.slide_anim2.on {
  animation-name: clipIn;
  animation-duration: 0.6s;
  animation-delay: 0.3s;
  animation-fill-mode: forwards;
  animation-timing-function: ease-in;
}
.slide_anim2.delay {
  animation-delay: 0.6s;
}

.slide_anim3 {
  opacity: 0;
}
.slide_anim3.on {
  animation-name: clipIn;
  animation-duration: 0.6s;
  animation-delay: 0.3s;
  animation-fill-mode: forwards;
  animation-timing-function: ease-in;
}

@keyframes clipIn {
  from {
    opacity: 0;
    clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
  }
  to {
    opacity: 1;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
  }
}
.fade_anim {
  opacity: 0;
}
.fade_anim.on {
  animation-name: fadeIn;
  animation-duration: 0.3s;
  animation-fill-mode: forwards;
  animation-timing-function: linear;
}
.fade_anim.delay {
  animation-delay: 0.8s;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.blur_anim {
  opacity: 0;
  filter: blur(100px);
}
.blur_anim.on {
  animation-name: blurOut;
  animation-duration: 0.6s;
  animation-fill-mode: forwards;
  animation-timing-function: linear;
}
.blur_anim.delay {
  animation-delay: 0.6s;
}

@keyframes blurOut {
  from {
    opacity: 0;
    filter: blur(100px);
  }
  to {
    opacity: 1;
    filter: blur(0);
  }
}
.circle_anim {
  clip-path: circle(0% at 50% 50%);
}
.circle_anim.on {
  animation: forwards circleAnim 0.8s ease-in-out;
}

@keyframes circleAnim {
  0% {
    clip-path: circle(0% at 50% 50%);
  }
  100% {
    clip-path: circle(100% at 50% 50%);
  }
}
/*--------------------
TOP理事長声明
--------------------*/
#top_attention {
  background: #fafafa;
}
#top_attention .attention_body {
  padding: 2rem;
  background: #fff;
  border: 2px solid #0273b4;
}
#top_attention .attention_body .kakui {
  text-align: right;
  font-weight: 600;
  margin-bottom: 2rem;
}
#top_attention .attention_body h2 {
  text-align: center;
  margin-bottom: 2rem;
}
#top_attention .attention_body h2 p {
  font-size: 1.25rem;
  font-weight: 600;
}
#top_attention .attention_body .attention_txt .list_dot {
  margin: 1rem 0;
}
#top_attention .attention_body .attention_txt p + p {
  margin-top: 1rem;
}
#top_attention .attention_body .attention_txt .founder_name {
  text-align: right;
  margin-top: 2rem;
}
#top_attention .attention_body .attention_txt .founder_name p {
  font-weight: 600;
  margin-top: 0;
}
#top_attention .attention_body .attention_txt .founder_name span {
  font-weight: 600;
}
#top_attention .attention_body .attention_txt .founder_name span b {
  font-size: 1.125rem;
  font-weight: 600;
  margin-left: 0.5rem;
}

/*--------------------
理事長声明モーダル
--------------------*/
#attention_modal {
  width: 100%;
  height: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  background: rgba(51, 51, 51, 0.5);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
}
#attention_modal .attention_body {
  width: 880px;
  height: 780px;
  margin: auto;
  padding: 2rem;
  background: #fff;
  border: 2px solid #0273b4;
  overflow-y: scroll;
}
#attention_modal .attention_body .kakui {
  text-align: right;
  font-weight: 600;
  margin-bottom: 2rem;
}
#attention_modal .attention_body h2 {
  text-align: center;
  margin-bottom: 2rem;
}
#attention_modal .attention_body h2 p {
  font-size: 1.25rem;
  font-weight: 600;
}
#attention_modal .attention_body .attention_txt .list_dot {
  margin: 1rem 0;
}
#attention_modal .attention_body .attention_txt p + p {
  margin-top: 1rem;
}
#attention_modal .attention_body .attention_txt .founder_name {
  text-align: right;
  margin-top: 2rem;
}
#attention_modal .attention_body .attention_txt .founder_name p {
  font-weight: 600;
  margin-top: 0;
}
#attention_modal .attention_body .attention_txt .founder_name span {
  font-weight: 600;
}
#attention_modal .attention_body .attention_txt .founder_name span b {
  font-size: 1.125rem;
  font-weight: 600;
  margin-left: 0.5rem;
}

#attention_close {
  text-align: center;
  margin-top: 2rem;
}
#attention_close span {
  display: inline-block;
  padding: 1rem 2rem;
  background: #333;
  color: #fff;
  font-weight: 600;
  cursor: pointer;
}
#attention_close span::before {
  font-style: normal;
  font-family: "Font Awesome 6 Free";
  font-variant: normal;
  text-rendering: auto;
  letter-spacing: 0;
  line-height: 1;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  content: "\f057";
  font-weight: 900;
  margin-right: 0.5rem;
}

/*--------------------
メディアクエリ切り替えクラス
--------------------*/
.sp {
  display: none;
}

.pc {
  display: block;
}