* {
  box-sizing: border-box;
  font-family: 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
      /* margin: 0; */
}

body {
  margin: 0;
}

p {
  margin-left: 10%;
  display: block;
  margin-block-start: 1em;
  margin-block-end: 1em;
  margin-inline-start: 0px;
  margin-inline-end: 0px;
  padding-left: 1em;
}

h2 {
  border-bottom: 1px solid #515A5A;
  border-left: 10px solid #180614;
  padding: 7px;
  margin-top: 10px;
}

h3{
  margin-left: 13px;
  margin-bottom: 3px;
}

table{
  margin-left: 30px;
}

th, td {
  text-align: left;
}

th {
  vertical-align: top;
  width: 120px;
}

td {
  padding-left: 10px;
}

li {
  margin-left: 10px;
}

.lecture-table {
  margin-top: 10px;
  margin-left: 40px; 
  margin-bottom: 10px;
}

/* Style the header */
.header {
  background-color: #f1f1f1;
  padding: 20px;
  text-align: center;
}

/* The navbar container */
.topnav {
  overflow: hidden;
  background-color: #333;
}

/* Navbar links */
.topnav a {
  float: left;
  display: block;
  color: #f2f2f2;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
}

/* Links - change color on hover */
.topnav a:hover {
  background-color: #ddd;
  color: black;
}

.container {
  float: center;
  padding-left: 15%;
  padding-right: 15%;
  justify-content: center;
}

/* Middle column */
.column.middle {
  float: center;
  justify-content: center;
}

/* Clear floats after the columns */
.row:after {
  content: "";
  display: table;
  clear: both;
}


/* Style the footer */
.footer {
  background-color: #f1f1f1;
  padding: 10px;
  text-align: center;
}

/* Responsive layout - when the screen is less than 800px wide, make the two columns stack on top of each other instead of next to each other */
@media screen and (max-width: 800px) {
  .column.middle {   
    width: 100%;
  }
  .container {
    padding-left: 5%;
    padding-right: 5%;
  }
}

/* Responsive layout - when the screen is less than 400px wide, make the navigation links stack on top of each other instead of next to each other */
@media screen and (max-width: 600px) {
  .topnav a {
    float: none;
    width: 100%;
  }
    .container {
    padding-left: 5%;
    padding-right: 5%;
  }
}

/* Style sponsor logos */
.sponsor-logos {
  display: flex;                /* FlexBoxで柔軟に並び替え */
  flex-wrap: wrap;              /* 折り返しを許可 */
  justify-content: center;      /* 中央寄せ */
  align-items: center;
  gap: 20px;                    /* ロゴ間の余白 */
  padding: 20px;
}

.sponsor-logos a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 220px;                 /* 枠の統一 */
  height: 100px;                /* 高さを揃える */
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 0 4px rgba(0,0,0,0.1);
  transition: transform 0.2s ease;
}

.sponsor-logos a:hover {
  transform: scale(1.05);
}

.sponsor-logos img {
  max-width: 100%;
  max-height: 80px;             /* ロゴ高さを統一 */
  object-fit: contain;          /* アスペクト比を保ったままフィット */
}

