body {
  margin: 0;
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
  background-color: #ffffff;
  color: #ffffff;
}
p,
h2,
h3 {
  line-height: 1.7;
}
a {
  color: inherit;
  text-decoration: none;
}
b {
  font-weight: bold;
}
.italic {
  font-style: italic;
}

/*スマホヘッダー*/

.mobile-header {
  display: none;
  background-color: #006036;
  color: white;
  padding: 10px;
  text-align: center;
  position: sticky;
  width: 100%;
  top: 0;
  z-index: 1000;
}

.mobile-header-link {
  display: flex;
  align-items: center;
  justify-content: center;
}

.mobile-header-link img {
  width: 30px;
  height: 30px;
  margin: 0 5px;
  text-align: center;
}
.mobile-header-link span {
  font-size: 12px;
}

/*PC*/

.sidebar {
  background-color: #ffffff;
  width: 200px;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  font-weight: bold;
}

.sidebar-logo {
  height: 100px;
}

.sidebar nav ul {
  list-style-type: none;
  padding: 0;
}

.sidebar nav ul li a {
  color: #1e1e1e;
  padding: 19px 30px;
  display: block;
  transition: background-color 0.3s;
}

.sidebar nav ul li a:hover {
  background-color: #bbbbbb;
}
.sidebar-icon {
  display: flex;
}
.sidebar-icon img {
  width: 20px;
  height: 20px;
}
.content {
  margin-left: 200px;
  background-color: white;
}

.header {
  position: relative;
  text-align: center;
  color: white;
}

.header img {
  width: 100%;
  height: 400px;
  object-fit: cover;
}

.updates {
  color: #1f1f1f;
  padding: 15px;
  margin: 25px;
  border-top: #1f1f1f solid;
  border-bottom: #1f1f1f solid;
}
.heading-icon {
  width: 25px;
  margin: 0 5px;
}
.section h3::before {
  content: "";
  display: inline-block;
  width: 25px;
  height: 25px;
  background-image: url(../image/heading-icon-white.svg);
  background-size: contain;
  background-repeat: no-repeat;
  margin-right: 8px;
  vertical-align: text-top;
}
.updates h2 {
  margin-top: 0;
  font-size: 25px;
  font-weight: bold;
}

.updates ul {
  padding-left: 20px;
  margin-top: 15px;
}

.updates li {
  margin-bottom: 10px;
}

.updates a,
.professor-link {
  text-decoration: underline;
}
.updates a:hover,
.professor-link:hover {
  transition: color 0.3s;
  color: #d0a900;
}

.content-sections {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin: 0 25px;
}

.content-sections > div {
  flex: 1 1 calc(50% - 20px);
  background-color: #006036;
  color: white;
  padding: 15px;
  text-align: center;
}

.content-sections > div h3 {
  margin-top: 10px;
  padding-bottom: 8px;
  font-size: 25px;
  font-weight: bold;
}

.content-sections > div p {
  margin: 15px;
  text-align: left;
}

.read-more {
  display: inline-block;
  border: 0.5px solid #1f1f1f;
  padding: 10px 25px;
  margin: 8px;
  font-size: 20px;
  color: #006036;
  background-color: #ffffff;
}

.read-more:hover {
  transition: background-color 0.3s;
  color: #ffffff;
  background-color: #d0a900;
}

.seminar-members-link {
  display: none;
  background-color: #006036;
  color: white;
  text-align: center;
  padding: 10px;
  margin: 20px 25px 25px 25px;
}

.sp-social-icons {
  display: none;
  justify-content: center;
  margin: 20px 0;
}

.sp-social-icons a {
  margin: 0 10px;
  display: inline-block;
}

.sp-social-icons img {
  width: 30px;
  height: 30px;
}
.footer {
  color: #1f1f1f;
  text-align: center;
  padding: 20px 0 15px 0;
  position: relative;
  bottom: 0;
  width: 100%;
  font-size: 10px;
}

/* スマホ表示 */
@media (max-width: 768px) {
  .mobile-header {
    display: block;
  }

  .sidebar {
    display: none;
  }

  .content {
    margin-left: 0;
  }
  .content-sections {
    flex-direction: column;
  }

  .seminar-members-link {
    display: block;
  }

  .sp-social-icons {
    display: flex;
  }

  .footer {
    background-color: #006036;
    color: white;
    text-align: center;
    padding: 10px;

    bottom: 0;
    width: 100%;
  }
}

/*コンテンツ部分*/

.content-header {
  position: relative;
}
.content-header img {
  width: 100%;
  height: auto;
}
.content-header h1 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 60px;
  color: #ffffff;
  padding: 0;
  margin: 0;
}

.content-inner {
  width: 96%;
  margin: 25px auto;
  border: #006036 solid 2px;
  padding: 2% 8%;
  color: #1f1f1f;
}

.content-inner h2 {
  padding: 8px 25px;
  margin: 50px -4% 30px -4%;
  font-size: 28px;
  background-color: #006036;
  color: #ffffff;
}

.content-inner p {
  margin: 13px 0;
}
.content-inner h3 {
  padding: 7px 0;
  margin: 25px -20px 15px -20px;
  font-size: 25px;
}
.content-inner h3::before {
  content: "";
  display: inline-block;
  width: 25px;
  height: 25px;
  background-image: url(../image/heading-icon.svg);
  background-size: contain;
  background-repeat: no-repeat;
  margin-right: 8px;
  vertical-align: text-top;
}

.content-inner-ul {
  margin: 0 20px;
  line-height: 1.7;
}

.content-inner-ul li:before {
  content: ""; /* 空の要素作成 */
  width: 10px; /* 幅指定 */
  height: 10px; /* 高さ指定 */
  display: inline-block; /* インラインブロックにする */
  background-color: #006036; /* 背景色指定 */
  border-radius: 0%; /* 要素を丸くする */
  position: relative; /* 位置調整 */
  top: -1px; /* 位置調整 */
  margin-right: 10px; /* 余白指定 */
}
.content-inner-ul-2 {
  margin: 0 30px 0 30px;
}
.content-inner-ul-2 li:before {
  content: ""; /* 空の要素作成 */
  width: 7px; /* 幅指定 */
  height: 7px; /* 高さ指定 */
  display: inline-block; /* インラインブロックにする */
  background-color: #000000; /* 背景色指定 */
  border-radius: 0%; /* 要素を丸くする */
  position: relative; /* 位置調整 */
  top: -2.5px; /* 位置調整 */
  margin-right: 13px; /* 余白指定 */
}
.content-inner-yellow {
  background-color: #d0aa005a;
  margin: 20px 0;
  padding: 10px 20px;
}
@media (max-width: 768px) {
  .content-inner-ul {
    margin: 0;
  }
  .content-inner-ul-2 {
    margin: 0 0 0 20px;
  }
  .content-inner h2 {
    padding: 8px 15px;
    font-size: 21px;
    margin: 40px -5% 20px -5%;
  }
  .content-inner h3 {
    padding: 7px 0;
    margin: 20px -3% 12px -3%;
    font-size: 20px;
  }
  .content-inner h3::before {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    background-image: url(../image/heading-icon.svg);
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: 4px;
    vertical-align: text-top;
  }
}
.professor-img {
  width: 65%;
  display: block;
  margin: 0 auto;
}

@media (max-width: 768px) {
  .professor-img {
    width: 90%;
  }
}
/*table*/
table {
  font-size: 15px;
  width: 85%;
  margin: 20px auto;
  border-collapse: collapse;
  border-spacing: 0;
  border-top: solid 1px #1f1f1f;
}

.table-row tr:first-child {
  background: #d0aa005a;
  font-weight: bold;
}
.table-row tr:nth-child(2n + 3) {
  background: #00603630;
}

.table-data-center {
  text-align: center;
}
.table-row th,
.table-row td {
  padding: 9px;
  border-bottom: solid 1px #1f1f1f;
}

.table-data-comment {
  margin: 1% 4% 0 4%;
  line-height: 1.2;
}
.table-data-comment a {
  text-decoration: underline;
}
.table-data-comment a:hover {
  transition: color 0.3s;
  color: #d0a900;
}
.research-table .table-data-center {
  width: 125px;
}

.table-column th {
  background: #d0aa005a;
  font-weight: bold;
}
.table-column th,
.table-column td {
  padding: 9px;
  border-bottom: solid 1px #1f1f1f;
}

/* スマホ表示 */
@media (max-width: 768px) {
  .research-table .table-data-center {
    width: 40px;
  }
}

/*メンバー*/
.members-img {
  width: 65%;
  display: block;
  margin: 0 auto;
}

.members-table {
  display: flex;
  flex-wrap: wrap;
}
.members-table table {
  width: 42.5%;
  margin: 13px auto;
}
.members-table th {
  width: 72px;
}
.members-table th,
.members-table td {
  padding: 7px;
  border-bottom: solid 1px #1f1f1f;
  font-size: 14.5px;
}

/* スマホ表示 */
@media (max-width: 768px) {
  .members-img {
    width: 85%;
  }
  .members-table {
    flex-direction: column;
  }
  .members-table table {
    width: 85%;
    margin: 10px auto;
  }
}

/* スマホ表示 */
@media (max-width: 768px) {
  .content-header h1 {
    font-size: 30px;
  }
}

/*news, obog*/
.news-article,
.obog-article {
  border-top: #006036 1.5px solid;
  margin-top: 25px;
  padding: 15px 0;
}

.news-article-header,
.obog-article-header {
  display: flex;
  flex-direction: row;
  align-items: center;
}
.news-article-header .news-article-date,
.obog-article-header .obog-article-date {
  font-size: 14px;
  margin-right: 18px;
  padding: 0 3px;
  border-bottom: #d0a900 1.5px solid;
}

.news-article h2,
.obog-article h2 {
  color: #006036;
  background-color: #ffffff;
  margin: 0;
  padding: 0;
  font-size: 28px;
  font-weight: bold;
}

.news-article h2::before,
.obog-article h2::before {
  content: "";
  display: inline-block;
  width: 28px;
  height: 28px;
  background-image: url(../image/heading-icon.svg);
  background-size: contain;
  background-repeat: no-repeat;
  margin-right: 8px;
  vertical-align: text-top;
}

.news-article-img,
.obog-article-img {
  display: flex;
  flex-wrap: wrap;
  margin: 22px 25px;
}
.news-article-img img,
.obog-article-img img {
  width: 40%;
  margin: 0 auto;
}

/* news, obogスマホ表示 */
@media (max-width: 768px) {
  .news-article-header,
  .obog-article-header {
    flex-direction: column;
    align-items: baseline;
  }
  .news-article-header .news-article-date,
  .obog-article-header .obog-article-date {
    margin-top: 0;
    margin-bottom: 0;
    margin-left: 8px;
  }
  .news-article h2,
  .obog-article h2 {
    margin-top: 8px;
    font-size: 25px;
  }
  .news-article-img,
  .obog-article-img {
    flex-wrap: nowrap;
    flex-direction: column;
    margin: 15px 25px;
  }
  .news-article-img img,
  .obog-article-img img {
    width: 100%;
    margin: 10px auto;
  }
}

/*入ゼミ*/
.admission-link,
.news-link {
  text-decoration: underline;
}

.admission-link:hover,
.news-link:hover {
  transition: color 0.3s;
  color: #d0a900;
}
