body {
  background: url(images/top_bg.webp) no-repeat center top calc(2vw + 80px) / 100% fixed;
}
h2 {
  font-size: 1.8rem;
  color: #fff;
}
h3 {
  border-bottom: 3px solid #fff;
  background-color: transparent;
  padding-left: 0;
}
/*-------------------------
  PCメニュー
-------------------------*/
.main-menu ul {
  display: block;
}

.main-menu a {
  display: block;
  padding: 5px 0;
  margin: 7px 0;
}

.main-menu .kumiai a {
  margin-top: 2rem;
}

section:has(.main-menu) {
  min-height: 85vw;
  background: url(images/top-main.webp) no-repeat center / 105%;
}

/* --------------------
メインコンテンツ
----------------------- */

main>.container {
  padding-block: 2rem;
  color: #fff;
}

.flex-container {
  display: block;
  margin-bottom: 0;
}

.flex-item-news {
  width: 100%;
}

.flex-item-banner {
  width: 100%;
}


/*-------------------------
  ニュース
-------------------------*/
.news-top {
  width: 100%;
  margin-bottom: 2.6rem;
}

.news-top dt {
  font-weight: 400;
  font-size: 0.75rem;
  padding: 10px 0 0;
}

.news-top dd {
  font-weight: 400;
  font-size: 0.9rem;
  padding: 0 0 10px;
  margin-left: 0;
}

.secandary_btn a {
  border: 2px solid #fff;
  background-color: var(--main_color);
}

/*-------------------------
  概要
-------------------------*/

.gaiyou_top {
  background-color: #fff;
  margin-top: 3.6rem;
  margin-bottom: 2.2rem;
  padding: 20px 25px;
  border-radius: var(--kadomaru_main);
}

.gaiyou_top h2 {
  color: var(--main_color);
  font-size: 1.4rem;
  margin: 0.5rem 0 0.8rem;
  text-align: center;
}

.secandary_btn a:is(:link, :visited) {
  color: #fff;
}

.gaiyou_top p {
  color: #000;
  margin-bottom: 0;
  font-size: 1.05rem;
  line-height: 1.9;
}

/*-------------------------
  バナー
-------------------------*/
.banner {
  list-style-type: none;
  margin-top: 40px;
   display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 10px;
}

.banner li {
  margin-left: 0;
  margin-bottom: 20px;

}

.banner img {
  display: block;
  width: 100%;
  border: 2px solid #fff;
  background-color: #fff;
}

@media (min-width: 600px) {
/*-------------------------
  バナー
-------------------------*/
.banner {
    gap: 0 20px;
}

/*-------------------------
  ニュース
-------------------------*/
.news-top {
  display: grid;
  grid-template-columns: 150px auto;
}

.news-top dt {
  padding: 10px 0;
}

.news-top dd {
  padding: 10px 0;
}

}

@media (min-width: 600px) and (max-width:1024px) {

}


@media (min-width: 1025px) {
  body {
    background: url(images/top_bg.webp) no-repeat right 20% top calc(1vw + 40px) / 63% fixed;
  }

  .site-title img  {
    margin-top: 5px;
  }
  /*-------------------------
  PCメニュー
-------------------------*/

section:has(.main-menu) {
  background-position: right 17% bottom -20px;
  background-size: 57%;
  height: 45vw;
  min-height: auto;
  display: flex;
  align-items: center;

}
.main-menu ul {
  margin-left: 10vw;
  margin-bottom: 1.5rem;
  white-space: nowrap;

}

.main-menu a {
  font-size: min(1.9vw, 1.25rem);
}


  /*-------------------------
  ニュース
-------------------------*/
  .flex-container {
    display: flex;
  }

  .flex-item-news {
    width: 65%;
  }

  .flex-item-banner {
    width: 35%;
  }


  /*-------------------------
  概要
-------------------------*/

.gaiyou_top {
  padding: 60px 90px 70px;
  border-radius: var(--kadomaru_main);
}

.gaiyou_top h2 {
  margin-bottom: 1.5rem;
}

/*-------------------------
  バナー
-------------------------*/
.banner {
   display: block;
}


}

@media (min-width: 1200px) {
    /*-------------------------
  PCメニュー
-------------------------*/
.main-menu ul {
  margin-left: 15vw;
}

}

/* Link */
@layer reset {

  a:link {
    color: #fff;
  }

  a:visited {
    color: #fff;
  }

  a:hover {
    color: #aaa;
  }

  a:active {
    color: #aaa;
  }

}