html {
  font-size: clamp(16px, 1.12vw, 24px); /* 最小16px、推奨2vw、最大24px */
  scroll-behavior: smooth;
}

body {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
  font-size: 16px;
}

section {
  scroll-margin-top: 6.1875rem;
}
video {
  width: 100%;
  max-width: 100%;
}
.content-md {
  width: 80vw;
  margin-inline: auto;
  max-width: 1536px;
}
.sec-wrapper {
  width: 80vw;
  margin-inline:auto;
  max-width: 1536px;
  padding: 10rem 0;
}

.sec-title-wrap {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}

.sec-title-wrap h2{
  font-size: 2rem;
  font-weight: 700;
  color: #333;
}

.sec-title-wrap p{
  font-size: 0.875rem;
  font-weight: 700;
  color: #0057B8;
}
s
.header .header-icon{
  width: 8px;
  height: 8px;
  background-color: #9450FB;
  border-radius: 50%;
}

.header .menu{
  font-family: Montserrat;
 font-weight: 300;
}

.slider .kv_name{
  font-family: Montserrat;
 font-weight: 200;
 color: white;
}


main .main_contents .title{
 font-family: Montserrat;
 font-weight: 300;
}

main .kv .textbox{
 font-family: Montserrat;
 font-weight: 300;
 font-size: 1.6vw;
 color: white;
}

/* フェードインアニメーション */
@keyframes fadeIn {
  from {
      opacity: 0;
  }
  to {
      opacity: 1;
  }
}

/* フェードアウトアニメーション */
@keyframes fadeOut {
  from {
      opacity: 1;
  }
  to {
      opacity: 0;
  }
}

/* フェードインのクラス */
.fade-in {
  animation: fadeIn 0.5s forwards;
}

/* フェードアウトのクラス */
.fade-out {
  animation: fadeOut 0.5s forwards;
}

/* 2025.4.17 add  */
.main_news {
  border: 3px solid #A17AE3;
  padding: 20px;
  margin: 20px 30px;
}
.main_news h2 {
  font-size: 17px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 15px;
}
.main_news p {
  line-height: 1.8;
  text-align: justify;
}
@media (width <= 430px) {
  .main_news {
    padding: 20px 14px;
    margin: 20px 20px;
  }
}