* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html,body {
    margin: 0;
}

body {
    font-family: Arial, sans-serif;
    background: #f5f5f5;
    margin: 0;
}

header {
    width: 100%;
    height: auto;
    /*background: #0b5fa5;*/
    background-image: url('../image/535953.png');
background-size: cover;
    margin: 0;
    padding: 20px;
    text-align: center;
    font-size: 28px;
    font-weight: bold;
    color: black;
-webkit-text-stroke: 2px white;
  text-stroke: 2px white;
  paint-order: stroke;
overflow: hidden;
}

header h1{
    margin: 0;
}

.bigsection {
    background: #fff;
    background-image: url('../image/22671574.png');
background-size: contain;
}

.section:first-of-type {
    margin-top: 0;
}

.section {
    /*background: #fff;*/
    margin: 20px auto;
    padding: 20px;
    max-width: 1000px;
    border-radius: 10px;
}

.section-title {
    font-size: 2em;
    font-weight: bold;
    /*margin-bottom: 15px;
    border-bottom: 2px solid #ddd;
    padding-bottom: 5px;*/
}

.section-title2 {
    font-size: 2em;
    font-weight: bold;
    margin-bottom: 15px;
    border-bottom: 2px solid #ddd;
    padding-bottom: 5px;
}

.logo-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 15px;
}

.logo {
    display: flex;
    align-items: center; 
    justify-content: center;
}

/* ロゴリンク */
.logo a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 300px;
    background: #fafafa;
    border: 1px solid #ddd;
    border-radius: 8px;
    text-decoration: none;
    color: black;
    font-size: 12px;
    transition: 0.2s;
}

.logo a:hover {
    background: #e6f0ff;
    transform: translateY(-3px);
}

.logo img {
    width: clamp(150px,20vw,300px);
    height: auto;
    margin: 1em;
    flex: 0 0 auto;
  }

/* メニューリンク */
.menu-bar a {
    font-size: 1.5em;
    display: block;
    background: #8fa39c;
    color: white;
    padding: 15px;
    margin: 10px auto;
    max-width: 1000px;
    text-align: center;
    font-weight: bold;
    text-decoration: none;
    border-radius: 5px;
    transition: 0.2s;
}

.menu-bar a:hover {
    background: #6f8a83;
}

.menu-bar label {
    font-size: 1.5em;
    display: block;
    background: #8fa39c;
    color: white;
    padding: 15px;
    margin: 10px auto;
    max-width: 1000px;
    text-align: center;
    font-weight: bold;
    text-decoration: none;
    border-radius: 5px;
    transition: 0.2s;
}

.menu-bar label:hover {
    background: #6f8a83;
}

.publications {
    display: flex;
    gap: 20px;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
}

.pub-item a {
    display: flex;
    width: 25vw;
    height: auto;
    /*background: #ddd;*/
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    text-decoration: none;
    color: black;
}

.entrance-btn {
    display: block;
    background: #0b5fa5;
    color: white;
    padding: 15px;
    margin-bottom: 15px;
    text-decoration: none;
    font-size: 18px;
    font-weight: bold;
    border-radius: 8px;
    text-align: center;
    transition: 0.2s;
}

.entrance-btn:hover {
    background: #084a82;
    transform: translateY(-2px);
}

  .seaj img {
    max-width: clamp(250px, 40vw,350px);
    height: auto;
    margin: 0 70px;
  }
  .youran img {
    max-width: clamp(350px, 40vw,400px);
    height: auto;
    text-align: center;
    margin: 0 20px;
  }

/* --------ここからメニュー------------------------- */
#menu-btn-check {
  display: none;
}

.menu-content {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 80;
  background-color: hsla(0, 0%, 0%, 0.8);
}
.menu-content ul {
  padding: 70px 10px 0;
}
.menu-content ul li {
  border-bottom: solid 1px #ffffff;
  list-style: none;
}
.menu-content ul li a {
  display: block;
  width: 100%;
  font-size: clamp(15px, 2vw, 25px);
  box-sizing: border-box;
  color:#ffffff;
  text-decoration: none;
  padding: 5vh 15px 5vh 0;
  position: relative;
}
.menu-content ul li a::before {
  content: "";
  width: 17px;
  height: 17px;
  border-top: solid 2px #ffffff;
  border-right: solid 2px #ffffff;
  transform: rotate(45deg);
  position: absolute;
  right: 11px;
  top: 6vh;
}

.menu-content ul li label {
  display: block;
  width: 100%;
  font-size: clamp(15px, 2vw, 30px);
  box-sizing: border-box;
  color:#ffffff;
  text-decoration: none;
  padding: 5vh 15px 5vh 0;
  position: relative;
  text-align: center;

}
.menu-content ul li label::before {
  content: "";
  width: 17px;
  height: 17px;
  /*border-top: solid 2px #ffffff;
  border-right: solid 2px #ffffff;
  transform: rotate(45deg);*/
  position: absolute;
  right: 11px;
  top: 6vh;
}

.menu-content {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 100%;/*leftの値を変更してメニューを画面外へ*/
  z-index: 80;
  background-color: hsla(0, 0%, 0%, 0.8);
  transition: all 0.5s;/*アニメーション設定*/
}
#menu-btn-check:checked ~ .menu-content {
  left: 0;/*メニューを画面内へ*/
}
  /* $$$$$$$$$$$$$$$$$ ハンバーガー終わり $$$$$$$$$$$$$$$$$$$$$$ */

  .end p {
    max-width: 100%;
    color: #fff;
    background: #000;
    padding: 1vh;
    margin: 0;
    text-align: center;
    font-family: Georgia,Arial, Helvetica, sans-serif;
  }

